设为首页 加入收藏

TOP

VC解决绘图闪烁问题
2014-11-23 20:17:22 】 浏览:243
Tags:解决 绘图 闪烁 问题

最近用VC画图,老是闪烁,上网查了一些资料,说是重载OnEraseBkgnd这个擦除背景函数,然后返回TRUE即可,代码如下:

BOOL CDlgUnionPav::OnEraseBkgnd(CDC* pDC)
{
//return CDialog::OnEraseBkgnd(pDC);
return TRUE; //返回true表示不擦除此区域背景
}

我试了下,这样添加后确实不闪了,但是又出现了另外一个问题,就是在画图时候,把整个对话框其它部分的背景也不擦了,导致其它地方很乱,比如按钮的背景很乱,这显然不是我想要的结果,后来我又查了一些资料,发现了一个奇迹,其实根本不用那么麻烦,VC里面直接有个函数

void InvalidateRect(LPCRECT lpRect, BOOL bErase = TRUE);

这个函数,可以刷新指定矩形区域,而且可以控制该区域的背景是否擦除,所以把需要显示图像的区域设进来,然后将第二个参数设为false就可以了 ,这样在画图时候,该区域的背景就不会被擦除了,也就不会闪烁了,其它的区域也同样不会出现混乱现象。


这个方法是我今天早上研究了一个多小时搞定的,我觉得很有用,所以拿出来给大家分享下,本人热爱编程,同道中人可加QQ:374522573


摘自 jice1001的专栏
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇不用属性页方法实现上一步,下一.. 下一篇CHtmlCtrl在VC中的使用HTML

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目