VC绘图中的无效区域有什么用? 我看一些程序在客户区域绘图时,都要用CWnd::InvalidateRect设置一个无效区域在话,有什么用处吗?我直接画上去看起来也没什么不同啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以提高效率,只画rect指定的地方 不知道你还有那里不明白?CWnd::InvalidateCWnd::InvalidateRect一个设置整个客户区无效,一个设置客户区的某个区域无效所谓无效,就是告诉windows需要刷新刷新全部和刷新一部分的区别而已 告诉windows刷新rect指定的区域。另外Invalidate()是刷新窗口全部内容,所以使用CWnd::InvalidateRect刷新指定的区域,程序运行效率高。 告诉windows刷新无效区域,然后呢,调用OnPaint()函数是吗?但是我在OnPaint()函数中强行绘制了整个客户区,那我确定的无效区域rect有什么用处? 你可以用GetClipBox()得到无效区域,然后只绘制该区域内的内容,比起绘制整屏的内容,自然减少了工作量。 如果你OnPaint()函数中强行绘制了整个客户区,那InvalidateRect和Invalidate效果应该是一样的了,只是起到刷新的作用就是你说的调用OnPaint()函数,如果你绘图时只是绘制了部分,那么InvalidateRect()指定范围后执行效率更好。 用C++截屏时ActiveX视频控件显示黑屏的问题 100分求教关于CRectTrackerl类在CScrollView里的实现 这样怎么不能读取注册表键值? 急!如何将一个自定义的结构体用套按字发送出去呀? 怎么样捕捉WM_MOUSELEAVE和WM_MOUSEHOVER消息? 想请问大家知道网上有哪些网校?就是那种交了钱,通过一个客户端来学习的那种 如何模拟键盘输入? 如何递归typedef struct? 怎样做才能在对话框的edit box中输入内容后桉回车键尔对话框不消失? 窗口的静态划分 请问如何实现自动解锁? 分享几个不错的UI界面设计,确实不错!!!
CWnd::Invalidate
CWnd::InvalidateRect
一个设置整个客户区无效,一个设置客户区的某个区域无效
所谓无效,就是告诉windows需要刷新
刷新全部和刷新一部分的区别而已
另外Invalidate()是刷新窗口全部内容,所以使用CWnd::InvalidateRect刷新指定的区域,程序运行效率高。