GDI 绘图时怎样用当前背景填充内存DC?

来源:百度知道 编辑:UC知道 时间:2024/06/05 16:12:41
我用双缓冲绘图,但是刷新时有闪烁,不知道用原来的背景先填充内存DC,然后再往内存DC上画图能不能解决问题,如果能,应该怎么实现?

补充:用C++

答案满意再加分!
都试过,没效果

跟屏幕刷新率关系不大

1
是没处理好消息
窗口绘制 是先 清除背景,在绘制前景
你响应 WM_ERASEBKGND,直接返回1试试一定可以,不行请参见如下2
2.
跟其它窗口有交叉区域的存在,你Swap的时候影响了其它窗口,它绘制的过程反过来又影响你绘制的窗口重新刷新,导致闪烁。这样可通过定义裁减区域来实现,或者照1做,
看MSDN上CDC类的裁减区方面的几个函数就行了。

应该同样有闪烁
最好的办法就是在图形修改处做修改,其余图形区域保留不变,否则闪烁是无法避免的
再者,减少对闪烁的感官可以通过加快屏幕刷新率来做到