OnPaint()函数在什么情况下会发生呢?

解决方案 »

  1.   

    1.窗口响应WM_PAINT消息的时候.
    2.客户区需要重新绘制的时候
    3.调用窗口的Invalidate,RedrawWindow等函数的时候
      

  2.   

    当有部分窗口被档住再重新出现时
    看这几个函数Invalidate,InvalidateRect,InvalidateRgn
      

  3.   

    当应用程序以任何方式接受到WM_PAINT消息时,(可以由系统发出,也可以由用户调用函数发出.
      

  4.   

    WM_PAINT消息都包括哪方面呢?
      

  5.   

    当窗体受到遮挡,重新显示即重绘,系统便会对窗体发送WM_PAINT消息,要求该窗体自己从新绘制,
    在WINDOWS1.0的时候MICROSOFT 的工程师曾经要用一个图片保存尚未被窗体的样子.一备重绘时候直接贴出来,但是由于程序界面被遮挡而数据还在动态显示,所以保存原先的样子就不能及时反映动态的数据, CPU的速度越来越快,也就不在乎着几毫秒的重绘工夫了.....
      

  6.   

    WM_PAINT消息在需要重画窗体是发出,要求重画窗体有几种情况:
    1 窗口被遮挡的部分重新露出,此时有系统发出重画消息
    2 由于程序内部数据(多在CDocument类中)更改,如:在窗口上显示一个圆,当由于某种途径更改了圆的半径,则应由程序自己发出重画消息
    3 还有其他的,一时想不起来了。总之是几乎所有的窗口变化都关系到WM_ONPAINT
      

  7.   

    附上一点:
    WM_PAINT消息优先级比较高
    1.它由系统触发
    2.由用hu自己调用也可以的