1.如果使窗口某个区域无效后,是不是系统会自动发送WM_PAINT消息给窗口?2.在窗口响应WM_PAINT消息重绘时,是不是只重绘无效区域?其他区域不管?

解决方案 »

  1.   


    1.如果使窗口某个区域无效后,是不是系统会自动发送WM_PAINT消息给窗口?  是的
    2.在窗口响应WM_PAINT消息重绘时,是不是只重绘无效区域?其他区域不管?
      是的,InvalidateRect函数和Invalidate函数可以说明。
    关于重绘消息更详细的介绍可以参考下面的链接:
    http://blog.chinaunix.net/u1/44638/showart_449134.html
      

  2.   

    1.The system sends a WM_PAINT message to a window whenever its update region is not empty and there are no other messages in the application queue for that window. 是会发送,但不是立即发送,是当消息队列中没有其他消息的时候发送。2。是的。
      

  3.   

    1.是的。然后调用onPaint();onPaint()里面再调用onDraw();
    2.貌似这个无效区域要自己在onDraw()里面计算出来。如果默认的话貌似是全部重绘。