博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使矩形区域无效
阅读量:6954 次
发布时间:2019-06-27

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

  OnLButtonDown函数虽然可以随时改变一个m_nColor的值,但是如果只是这样的话,OnDraw函数是不会调用的(除非用户改变视图的大小),因此,OnLButtonDown函数必须调用

InvalidateRect函数(它是CMyView类从CWnd继承过来的成员函数),它能触发Windows的WM_PAINT消息,该消息又在CView类被映射,以引起对OnDraw的调用。如果有必要,OnDraw函数还可以访问传给InvalidateRect的"无效矩形区域"参数。

  有两种情况可以优化Windows的绘制过程。第一,我们必须知道WIndows只更新无效的矩形内部的像素,所以所设置的无效矩形区域越小(例如在函数OnLButtonDown中设置),则重画的速度就越快;第二,执行在无效矩形歪蜜啊女的绘制指令纯属是浪费时间,OnDraw函数可以调用CDC中的成员函数GetClipBox得到无效的矩形大小,这样在绘制时就可以避免对其外边的的对象的绘制。记住,OnDraw函数不仅仅会响应InvalidateRect调用,它也会在窗口改变大小和窗口显露时被调用,因此,OnDraw要对窗口内所有的绘制处理,而且它还要适应无效矩形的限制。

转载于:https://www.cnblogs.com/cwbo-win/p/3219446.html

你可能感兴趣的文章
Vue.js 系列教程 5:动画
查看>>
WinForm 使用 HttpUtility
查看>>
Zabbix QQ报警配置
查看>>
2016.8.7 UnicodeEncodeError 同时遍历多个list
查看>>
基础 网络架构 网络硬件名词 网络通信协议
查看>>
sqlite
查看>>
关于Retinex图像增强算法的一些新学习。
查看>>
一道容易栽坑的有趣的面试题(关于js,定时器,闭包等)
查看>>
正则表达式,时间戳和日期互相转换
查看>>
mysql复制(高可用架构方案的基础)
查看>>
搭建自己的OwnCloud私有云
查看>>
【leetcode】Trips and Users
查看>>
Android--读取通讯录并添加联系人
查看>>
Java实现图片上传
查看>>
C#--DataGridView添加DateTimePicker时间控件
查看>>
一个按照行来截取显示文章摘要的函数
查看>>
编译器GCC的Windows版本 : MinGW-w64安装教程
查看>>
JSTL详解1
查看>>
Java高质量20问
查看>>
自动化环境配置
查看>>