您的位置:逆风者 VC++ 正文
 添加时间:2007-09-01 原文发表:2007-08-31 人气:77 来源:vckbase.com

本文章共2012字,分2页,当前第2页,快速翻页:
 
  其实,这里还存在一个问题:在处理WM_PAINT消息时候,通常的做法是使用BeginPaint和Endpaint函数来操作DC画图的,当树结点展开或者折叠时候,我们收到WM_PAINT消息,并由消息得到的刷新区域或者说刷新矩形。关键就是在于,这里的刷新区域不是整个客户区,背景图会出现重叠的部分而变形。

逆风编程精品
解决方法:考虑使用GetDC和ReleaseDC操作,可以避开刷新区域的限制,我们可以把整个客户区重画,而实现背景图的完整性。这里要非常注意的是:BeginPaint和Endpaint函数会自动把需要刷新的区域设为有效,而GetDC和ReleaseDC函数不会,所以我们要自己增加两个操作GetUpdateRect和ValidateRect,也就是自己把需要刷新的区域设置为有效。否则:会不停的得到WM_PAINT消息,和死循环一样,CPU占用达到100%。


图一 测试程序

四、结束语

由于使用了Win32的API函数,因此附加了一个Win32内部类,导入了自己需要的函数。
 

本文章更多内容<<上一页 - 1 - 2
相关文章

如何在 Windows NT、Windows 2000 和 Windo
用VC 创建自定义向导程序
IE 控件一些高级使用方法
多功能标签CLabelEx
自己编的SQL服务端加客户端
简单快速的哈夫曼编码
谈谈软件项目管理的重要性
检测:.NET中强大的检测选项让你有信心建立
一个生成公章图片的简易工具
KVIP考勤系统
static_cast<>揭密
自己写 FILTER 改变画面颜色
如何去掉浮动工具条中的“关闭”按钮
ResizeParentToFit,destructors及其他
Javascript - Prototype Based Language
函数功能流程图,in as,line feed
使用VC ATL实现Office的COM插件
VC实现波形不闪烁动态绘图
封装ADO之MFC应用
如何利用Xerces C 正确处理XML文档中的中文

相关评论


本文章所属分类:首页 VC++

  热门关键字: