博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SDK编程中有效区域与无效区域的盲区WM_PAINT消息何时发送的。。。
阅读量:4563 次
发布时间:2019-06-08

本文共 607 字,大约阅读时间需要 2 分钟。

相信学过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变得无效从而进行重绘  

 

 

 

 

 

转载于:https://www.cnblogs.com/mosatsu/archive/2011/10/15/2466872.html

你可能感兴趣的文章
前后端分离
查看>>
存储过程
查看>>
福特F-550 4x4 越野房车设计方案欣赏_房车欣赏_21世纪房车网
查看>>
建立个长春互联网群
查看>>
生成器
查看>>
将一个数的每一位都取出来的方法!
查看>>
2) 十分钟学会android--建立第一个APP,执行Android程序
查看>>
面试题8:二叉树下的一个节点
查看>>
hash冲突的解决方法
查看>>
linux进程 生产者消费者
查看>>
Asp.Net webconfig中使用configSections的用法
查看>>
mysql 二进制日志
查看>>
阻止putty变成inactive
查看>>
TP框架代码学习 学习记录 3.2.3
查看>>
doc文档生成带目录的pdf文件方法
查看>>
js数组,在遍历中删除元素(用 for (var i in arr)是无效的 )
查看>>
通过前端上传图片等文件的方法
查看>>
在 OC 中调用 Swift 代码
查看>>
Android仿腾讯应用宝 应用市场,下载界面, 有了进展button
查看>>
AngularJS之ng-class(十一)
查看>>