获得控件的句柄使用CDC在上面画图都做了些什么?求内幕(在线等)
时间:2011-12-27
来源:互联网
CDC *pDC = GetDC(mstatic.GetSafeWnd())后在上面绘制出来的吧。 那么CDC在static上面绘制空图片的时候,static是如何响应该绘制过程然后更新自己上面的图片的呢? 有通过OnPaint更新吗?还是其他的绘制函数? 求解?
为什么获得了控件的句柄后即便不在OnPaint函数里面,也可以在控件上作图并 更新?是怎么触发更新的? 百思不得其解。
作者: xiaoxiaoyu85 发布时间: 2011-12-27
作者: xiaoxiaoyu85 发布时间: 2011-12-27
2。 能得到它的DC,也能得到它的消息处理函数,你可以了解一些关于子类化的东西(SubclassWindow)
3。 当然了,也可以在整个窗口的OnPaint的时候,去绘制那个DC。
作者: healer_kx 发布时间: 2011-12-27
1。 有了句柄,就等于有了操纵这个控件的一切的权利
2。 能得到它的DC,也能得到它的消息处理函数,你可以了解一些关于子类化的东西(SubclassWindow)
3。 当然了,也可以在整个窗口的OnPaint的时候,去绘制那个DC。
多谢 了。
作者: xiaoxiaoyu85 发布时间: 2011-12-27
这个不太能理解,是创建一个子类吗?
得到DC后,在控件类外面去绘制,控件类里面,如何知道的呢?
作者: xiaoxiaoyu85 发布时间: 2011-12-27
DC就是用来绘图的。
OnPaint 是由系统调用 同时 系统提供DC来绘图。
GetDC的方式 是手工调用 同时手工申请DC来绘图。
这俩关系就跟栈内存和堆内存一样,都是内存只不过管理的方式不一样。
作者: hotpos 发布时间: 2011-12-27
处理的方式就是替换窗口的消息处理函数,可以通过SetWindowLong函数实现这个功能,所需的是窗口句柄不是DC句柄。
在外面用GetDC的方式绘制, 窗口是无法获知的。
你不能阻止别人在你的窗口上乱画。
作者: hotpos 发布时间: 2011-12-27
在外面用GetDC的方式绘制, 窗口是无法获知的。
你不能阻止别人在你的窗口上乱画。
哦,谢谢了,关键就是这个,等会结贴,呵呵
作者: xiaoxiaoyu85 发布时间: 2011-12-27
你不能阻止别人在你的窗口上乱画。
那别人画完自后,我是怎样及时响应更新的呢? 就是这里不理解。。
作者: xiaoxiaoyu85 发布时间: 2011-12-27
热门阅读
-   office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具 office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具阅读:74 
-   如何安装mysql8.0 如何安装mysql8.0阅读:31 
-   Word快速设置标题样式步骤详解 Word快速设置标题样式步骤详解阅读:28 
-   20+道必知必会的Vue面试题(附答案解析) 20+道必知必会的Vue面试题(附答案解析)阅读:37 
-   HTML如何制作表单 HTML如何制作表单阅读:22 
-   百词斩可以改天数吗?当然可以,4个步骤轻松修改天数! 百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!阅读:31 
-   ET文件格式和XLS格式文件之间如何转化? ET文件格式和XLS格式文件之间如何转化?阅读:24 
-   react和vue的区别及优缺点是什么 react和vue的区别及优缺点是什么阅读:121 
-   支付宝人脸识别如何关闭? 支付宝人脸识别如何关闭?阅读:21 
-   腾讯微云怎么修改照片或视频备份路径? 腾讯微云怎么修改照片或视频备份路径?阅读:28 















