喝着一杯咖啡

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

在说文本输出前先说明下什么是:

    1,WM_PAINT消息?什么情况触发此消息? 

       此消息通知窗口过程必须绘制客户区。

       以下四种情况windows会通知窗口过程接收一个WM_PAINT消息:

        用户移动或显示窗口,窗口先前被隐藏的区域重新可见
        改变窗口大小(如果窗口类风格具有CS_HREADRAW|CS_VERDRAW的设置)
        程序使用ScrollWindow或ScrollDC函数滚动客户区的一部分

        程序使用InvalidateRect 或InvalidateRgn函数显示产生WN_PAINT消息

       以下三种情况windows可能发从此消息:

        windows擦出覆盖了部分窗口的对话框和消息框

        菜单下拉,然后释放

        显示工具栏提示

       某些情况windows总是保存它所覆盖的显示区域

        鼠标光标穿越客户区

        图标拖过客户区 

 

    2,什么是有效矩形和无效矩形?

       相对于客户区来说,被遮盖的部分就是无效矩形,一旦遮盖的区域被显示出来,那么无效矩形就变成有效,窗口过程必须通过WN_PAINT消息进行重新绘制。

posted on 2010-01-20 09:44  喝着一杯咖啡  阅读(531)  评论(0)    收藏  举报