CWnd::UpdateWindow();
和CWnd::Invalidate()调用WM_PAINT时有什么区别
和CWnd::Invalidate()调用WM_PAINT时有什么区别
解决方案 »
- vs08建立项目数据库//客户端类型有什么区别?
- 关于VC开发中网络拓扑图自动排列的方法
- 一个位图处理的问题
- 【快过年了,请允许我发个生活贴】太幸福了,太兴奋了,我们的购买力已经超过美国人了!
- 串口的读写函数
- 菜鸟问题::有关CListBox类的LBS_NOTIFY风格的问题?
- 散分庆祝中秋节!
- 在局域网中,如何编程识别网络设备,如:主机、交换机、路由器等?
- 晕死!ie风格工具栏怎么回事?!谁告诉我我送100分
- 关于vc++6开发ODBC数据库的二个问题(谢谢指教!)
- 使用OLE Automation做一个DLL,DLL支持属性和方法,定义的方法有个问题?
- 如何在win2000系统中在2G-4G的内存中寻找user32.DLL等系统DLL的装入地址!!
CWnd::Invalidate()把WM_PAINT送到消息队列,什么时候执行重画,你无法控制。
Updates the client area by sending aWM_PAINT message if the update region is not empty. The UpdateWindow member function sends a WM_PAINT message directly, bypassing the application queue. If the update region is empty, WM_PAINT is not sent.
CWnd::Invalidate():
Invalidates the entire client area of CWnd. The client area is ed for painting when the next WM_PAINT message occurs. The region can also be validated before a WM_PAINT message occurs by the ValidateRect or ValidateRgn member function.
通常当存在无效区域且windows空闲时,windows就以送一个WM_PAINT 使之更新。UpdateWindow();强制立即发送WM_PAINT 消息,当存在无效区域时就立即更新重绘。如果没有被声明无效的区域,它不起作用。