VC闪屏处理方案

今天中午的时候解决了这个问题。

在使用document view结构的MFC程序时,在view上进行绘图绘画很简单,但是很容易导致的后果就是当窗口的尺寸改变的时候由于重绘会导致闪屏。

这个效果还是比较捉急的,因为很难看。

在网上看了什么双缓冲法解决闪屏问题,我觉得吧,有的真的是纯属扯淡。

他们的代码我拿来试过的,都不好使,闪屏依旧。

而且最恶心的就是只有一份原创,其余的好多都是抄的,连个引用都没有。

 

首先,闪屏闪的时候能发现闪烁的背景色是白色,这个就说明了在重绘的时候,发生了屏幕擦写问题。

在vc2010版的对应的MFC中,这个消息开头是是WM_ERASEBK。。。

具体记不清了,我也懒得开编译器,但是只要你打开class wizard,在消息里面就能找到。

然后你可以利用其虚函数的特性,创建自己的函数将其覆盖到,并且什么都不做,完完全全的一个空函数,就能把这个消息屏蔽掉。

然后你在加载一张图片之后,绝对不闪~~~

 

这个实测过的,很好用。

posted @ 2013-05-14 23:10  Matrix_R  阅读(907)  评论(3编辑  收藏  举报