Invalidate()、InvalidateRect()、InvalidateRgn、UpdateWindow()
来源:互联网 发布:sql怎么查找重复数据 编辑:程序博客网 时间:2024/05/20 20:03
1、Invalidate()使整个客户区无效,客户区无效则会发送WM_PAINT消息对整个客户区进行重绘。如果消息队列非空则Invalidate()不会立即重绘窗口,直到消息队列为空才向窗口发送WM_PAINT消息重绘窗口。函数原型:
void Invalidate( BOOL bErase = TRUE);其参数决定了是否要在WM_PAINT消息前发送WM_ERASEBKGND,bErase为TRUE时,重绘区域内的背景将被擦除,否则,背景将保持不变。
2、InvalidateRect()使客户区的指定矩形区域无效,指定区域无效则会发送WM_PAINT消息对指定的区域进行重绘。函数原型:
BOOL InvalidateRect( HWND hWnd, const RECT *lpRect, BOOL bErase);
<span style="font-weight: 700; color: rgb(51, 51, 51); font-family: arial, 宋体, sans-serif; font-size: 14px; line-height: 24px; text-indent: 28px;">3、InvalidateRgn()</span>函数通过添加一个区域到一个窗口的更新区域中来使指定矩形的客户区域无效;这个无效的区域和所有更新区域中的其他区域将被标记用来在下一个WM_PAINT消息发生的时候描绘4、UpdateWindow()会通过发送WM_PAINT消息对客户区进行重绘,如果没有可绘制的区域(通过GetUpdateRect判断窗口有无产生无效)则不会发送WM_PAINT消息进行重绘。UpdateWindow()会立即重绘窗口:发送的WM_PAINT消息不会进入消息队列而是直接调用窗口过程进行重绘。函数原型:
BOOL UpdateWindow(HWND hWnd);5、 RedrawWindow()会对整个或部分客户区进行重绘。RedrawWindow()通过设置flags参数可以使客户区无效、立即重绘窗口等。RedrawWindow()在CWnd中的定义:
BOOL RedrawWindow( LPCRECT lpRectUpdate = NULL, CRgn* prgnUpdate = NULL, UINT flags = RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE );flags参数意义:RDW_INVALIDATE使区域无效,RDW_UPDATENOW为立即重绘窗口,RDW_ERASE为重绘区域内的背景将被擦除。
参考文章:http://www.cnblogs.com/it20120227/archive/2011/08/10/2370917.html
0 0
- Invalidate()、InvalidateRect()、InvalidateRgn、UpdateWindow()
- Invalidate、InvalidateRect和UpdateWindow
- InvalidateRect() Invalidate() UpdateWindow()
- InvalidateRect,invalidate,updatewindow
- InvalidateRect,invalidate,updatewindow
- InvalidateRect,invalidate,updatewindow
- UpdateData、Invalidate、InvalidateRect和UpdateWindow
- 关于Invalidate、InvalidateRect和UpdateWindow
- UpdateData、Invalidate、InvalidateRect和UpdateWindow
- 关于Invalidate、InvalidateRect和UpdateWindow
- 关于Invalidate、InvalidateRect和UpdateWindow
- UpdateData、Invalidate、InvalidateRect、UpdateWindow、GetMessage
- 关于Invalidate、InvalidateRect和UpdateWindow
- UpdateData、Invalidate、InvalidateRect和UpdateWindow
- 关于Invalidate、InvalidateRect和UpdateWindow
- 关于Invalidate、InvalidateRect和UpdateWindow
- UpdateData、Invalidate、InvalidateRect和UpdateWindow
- 关于Invalidate、InvalidateRect和UpdateWindow
- 复习JSP基础内容
- Hive 全排序 优化
- 锚点滑动jq 关于HTML锚点定位几个不同场景的解决方案
- LINUX ICMP检测
- MySQL binlog 格式(Mixed,Statement,Row Level)
- Invalidate()、InvalidateRect()、InvalidateRgn、UpdateWindow()
- 三星N7100 Galaxy Note2 Root权限获取详细教程
- android xmpp开发 asmack实现断线自动重连
- Builder Pattern
- hdu 1233 最小生成树Prim算法
- 第十二周 整整3个月
- javascript事件对象(event)
- Android 电话状态监听
- java 获取apk包 的版本信息