WM_PAINT以及窗口绘制

1.当客户区文本被覆盖时,系统默认的操作是使无效的窗口不可见。除非发送WM_PAINT消息通知窗口过程,方能充绘窗口。

2.一个WM_PAINT消息不止对应一个“无效矩形”,可以对应多个,操作系统会通过计算,将新加入的“无效窗口”合并到原来的的“无效窗口”中,得到一个新的包涵当前所有“无效窗口”的窗口合集。

3.通过GetUpdateRect可以在任何时候获取“无效窗口的句柄”。

4.ValidateRect会使客户区的任意区域变为“有效窗口”,如果ValidateRect是使当前客户区的所有窗口都有效,则原先投递到Windows消息队列中的所有WM_PAINT消息将全部被清除。

5.只有客户去的一部分失效时,窗口才会接受“WM_PAINT”消息。

6.设备描述表实际上是GDI内部保存的数据结构,当程序需要绘图时,它必须先获取设备描述表句柄,当程序在客户区绘图完毕后,必须释放设备描述表句柄。程序必须在处理单个消息期间获取和释放句柄,不能在两个消息之间保存其他设备描述表句柄。

7.在处理WM_PAINT消息时,BeginPaint和EndPaint必须成对出现。如果不调用BeginPaint和EndPaint,Windows不会使该区域变为有效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值