SDK编程中有效区域与无效区域的盲区WM_PAINT消息何时发送的。。。

相信学过MFC或者写过 用MFC写过windows应用程序的人都知道 我们可以很简单的创建一个windows应用程序但是却  不知道其中的原理 

利用SDK写windows程序的人 对内部原理比较了解但是对于上来就用MFC写程序的人来说 似乎 MFC底层不可触摸  ,因为微软对windows API 封装的太厉害了 

我曾经就 WM_PAINT 消息何时发送的以及 Valid Area(有效区域)  Invalid  Area(无效区域 )  很模糊       

 

比如说我们打开2个窗体    一个位于另一个的上面 遮住上层窗体的一部分  、、 那么上层窗体被遮住的地方就叫做 Invald Area  无效区域 那么windows 系统会通知应用程序 进行重回这个区域      

但是我们发现在 Client Area 客户区域 中只有被遮住的那部分进行了重绘。   有些人会有些不解 。。其实 windows 系统只要求应用程序对 被遮住的无效区域 进行重绘   

 

当遮住的窗体移动的时候  那么操作系统就会发出 WM_PAINT 消息 对应 MFC中的就是 OnDraw()函数 、、、进行重回操作 。  这就是无效区域的重绘

 

另外 MFC  CWnd类中的  Invalidate函数会使Client Area变得无效从而进行重绘  

 

 

 

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UsherYue

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值