在说文本输出前先说明下什么是:
1,WM_PAINT消息?什么情况触发此消息?
此消息通知窗口过程必须绘制客户区。
以下四种情况windows会通知窗口过程接收一个WM_PAINT消息:
用户移动或显示窗口,窗口先前被隐藏的区域重新可见改变窗口大小(如果窗口类风格具有CS_HREADRAW|CS_VERDRAW的设置)
程序使用ScrollWindow或ScrollDC函数滚动客户区的一部分
程序使用InvalidateRect 或InvalidateRgn函数显示产生WN_PAINT消息
以下三种情况windows可能发从此消息:
windows擦出覆盖了部分窗口的对话框和消息框
菜单下拉,然后释放
显示工具栏提示
某些情况windows总是保存它所覆盖的显示区域
鼠标光标穿越客户区
图标拖过客户区
2,什么是有效矩形和无效矩形?
相对于客户区来说,被遮盖的部分就是无效矩形,一旦遮盖的区域被显示出来,那么无效矩形就变成有效,窗口过程必须通过WN_PAINT消息进行重新绘制。

浙公网安备 33010602011771号