分块同时重绘的问题!
现在假设我的屏幕上有两块区域,我用定时器同时在两快区域分别作图!我的思路如下,不知是否可行!
- C/C++ code
SetTimer(1,2000,NULL);SetTimer(2,1000,NULL);OnTimer(UINT nIDEvent){ switch(nIDEvent) { case 1: MyDraw1();//利用双缓冲对区域1进行重绘 break; case 2: myDraw2();//利用双缓冲对区域2进行重绘 break; default: break; }}[解决办法]
你射击的原理上是没问题,但是有个要注意的地方,在你利用双缓冲对指定区域进行重绘的时候,先要将该区域设置成无效绘制区域,这样你的重绘过程才会被刷新显示,一般会用InvalidateRect加上UpdateWindow
[解决办法]
代码逻辑是没问题,但是,你画的内容有没有重叠?
SetTimer(1,2000,NULL);
SetTimer(2,1000,NULL);
这个周期就有重叠。你自己说双缓冲的,如果内容有重叠,就要区分一个先后了。