读书人

分块同时重绘的有关问题

发布时间: 2012-09-02 21:00:34 作者: rapoo

分块同时重绘的问题!
现在假设我的屏幕上有两块区域,我用定时器同时在两快区域分别作图!我的思路如下,不知是否可行!

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);

这个周期就有重叠。你自己说双缓冲的,如果内容有重叠,就要区分一个先后了。

读书人网 >VC/MFC

热点推荐