博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
onpaint()和ondraw()的关系
阅读量:6323 次
发布时间:2019-06-22

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

onpaint()和ondraw()的关系

答:
(1)OnDraw()和OnPaint()好象兄弟俩,因为它们的工作类似。
至于不见了的问题简单,因为当你的窗口改变后,会产生无效区域,这个无效的区域需要重画。一般Windows会发送两个消息WM_PAINT(通知客户区 有变化)和WM_NCPAINT(通知非客户区有变化)。非客户区的重画系统自己搞定了,而客户区的重画需要我们自己来完成。这就需要OnDraw()或 OnPaint()来重画窗口。
 
(2)OnDraw()和OnPaint()有什么区别呢?首先:我们先要明确CView类派生自CWnd类。而OnPaint()是CWnd的类成员,同时负责响应WM_PAINT消息。OnDraw()是Cview的成员函数,并且没有响应消息的功能。这就是为什么你用VC成的程序代码时,在视图类只有 OnDraw没有OnPaint的原因。
 
(3)既然OnPaint最后也要调用OnDraw,因此我们一般会在OnDraw函数中进行绘制。
 
 
摘自:

转载于:https://www.cnblogs.com/macong/archive/2012/11/15/2771645.html

你可能感兴趣的文章
Oracle 基础篇 --- B树索引内部结构
查看>>
【软件周刊第 23 期】Win10 开发全家桶已集齐:.NET Framework 4.7 和 VS 2017 Update 发布...
查看>>
centos7 Tab键之后yum不自动补全解决
查看>>
Squid代理服务器
查看>>
存储篇之如何选择合适的企业存储
查看>>
怎么让app读取到手持终端功能应用
查看>>
30分钟了解Kotlin基本语法
查看>>
Docker 容器内服务自启动
查看>>
PHP环境搭建(ubuntu)
查看>>
最近很忙
查看>>
storm项目之实时流式计算介绍
查看>>
ubuntu省略命令行中的绝对路径提示
查看>>
Nginx允许跨域
查看>>
《TCP/IP详解:卷1》之TCP/UDP总结
查看>>
无线路由器配置案例1(课堂总结)
查看>>
Tomcat 配置log4j
查看>>
Android SQLite快速入门教程
查看>>
旅美见闻:美国贫民百姓众生相
查看>>
[MDIT每天一小时]Window系统搭建Android开发环境(最全最详细)
查看>>
对称矩阵及对称矩阵的压缩存储
查看>>