MFC 刷新窗口相关知识点整理

MFC 刷新窗口相关知识点整理

1、Invalidate:使窗口的整个客户区失效,然后给窗口消息队列发送一个WM_PAINT消息,要求重绘(需要排队)

2、UpdateWindow:如果有无效区,则马上sending a WM_PAINT message到窗口处理过程,不进消息队列进行排队等待,立即刷新窗口,如果没有无效区,则什么都不做。

3、OnPaint函数:响应WM_PAINT消息,负责重绘窗口。视图类有一些例外,在视图类的OnPaint函数中调用了OnDraw函数,实际的重绘工作由OnDraw来完成。参数bErase为TRUE时,重绘区域内的背景将被擦除,否则,背景将保持不变。

4、RedrawWindow :相当于Invalidate+UpdataWIndow,强制重绘窗口。

4、无效区:如果一个被其它窗口遮住的窗口变成了前台窗口(不再被遮挡了),那么原来被遮住的部分就是无效的,需要重绘。

备注:

1、不要在OnPaint函数中写Invalidate函数,会不断的自调用。

2、还有一个小知识点:WM_PAINT消息是等到消息队列为空时,才被发送,因为其优先级比较低,产生多个有重合的无效区时,会合并一同绘制,避免重复绘制。

❈ ❈ ❈

相关文章

✧ ✧ ✧
2014年世界杯赔率:一场让球迷心跳加速的疯狂赌局
bt365体育在线投注

2014年世界杯赔率:一场让球迷心跳加速的疯狂赌局

📅 08-11 👁️ 2037
为何有的女孩并不漂亮,但就是招人喜欢?原来,女人的真正魅力在于吸引力
岩谷气具(珠海)有限公司
365英超

岩谷气具(珠海)有限公司

📅 07-10 👁️ 2822