或许看了觉得十分搞笑.不是用setStyle把doublebuffer打开就好了么?可是其实并不是如此.要完全发挥doubleBuffer的功效。还需要打开一些其他的东西...
也不明白为什么是这样设计的...
需要用setStyle把三个Style设置成True。
UserPaint 、 AllPaintingInWmPaint DoubleBuffer 都设置成True
下面分别说说另外两个的作用
UserPaint支持的是让用户自己重新绘制控件.(如果为false,Paint事件不响应)
而AllPaintInWmPaint的作用是:
如果 AllPaintingInWmPaint 位元是設為 true ,則忽略視窗訊息 WM_ERASEBKGND,並直接從視窗訊息 WM_PAINT 同時呼叫 OnPaintBackground 和 OnPaint 方法。除非有其他控制項傳送視窗訊息 WM_ERASEBKGND 給這個控制項,否則一般可降低重繪閃動。您可傳送視窗訊息 WM_ERASEBKGRND,達到類似 SupportsTransparentBackColor 虛擬透明的作用,例如有平面外觀的 ToolBar 。
博客介绍了要完全发挥doubleBuffer的功效,仅用setStyle打开还不够,还需将UserPaint、AllPaintingInWmPaint、DoubleBuffer三个Style设置为True。同时说明了UserPaint支持用户重绘控件,AllPaintingInWmPaint可降低重绘闪动等作用。
981

被折叠的 条评论
为什么被折叠?



