关于绘图的移动痕迹有关问题
关于绘图的移动痕迹问题
做一个基于对话框的程序,在背景上绘一个图形,然后用方向键控制该图形的移动,思路如下:
举一个图形向上移动的例子说,
在OnKeyDown里判断如果按下向上键,则启动Timer(0),如松开向上键,则关闭Timer(0),在Timer(0)里实现图形向上移动,其他方向类似..绘图使用双缓冲,刚开始本来以为做好了,刚执行的时候一切正常,图形移动符合要求,但是移动了一段时间之后,图形出现严重的移动痕迹,重影刷刷一大片....无语,不知道该怎么办,哪位高手指点一下迷津啊.谢谢了...
------解决方案--------------------
这样子的绘制不应该有重影,除非你的“绘图”里面重复绘制了。
不过,在这里还要插入一句:
pDC-> BitBlt(0,0,nWidth,nHeight,&MemDC,0,0,SRCCOPY);
MemDC.SelectObject(pOldBit);//别忘了要选进原始位图
MemBitmap.DeleteObject();
做一个基于对话框的程序,在背景上绘一个图形,然后用方向键控制该图形的移动,思路如下:
举一个图形向上移动的例子说,
在OnKeyDown里判断如果按下向上键,则启动Timer(0),如松开向上键,则关闭Timer(0),在Timer(0)里实现图形向上移动,其他方向类似..绘图使用双缓冲,刚开始本来以为做好了,刚执行的时候一切正常,图形移动符合要求,但是移动了一段时间之后,图形出现严重的移动痕迹,重影刷刷一大片....无语,不知道该怎么办,哪位高手指点一下迷津啊.谢谢了...
------解决方案--------------------
这样子的绘制不应该有重影,除非你的“绘图”里面重复绘制了。
不过,在这里还要插入一句:
pDC-> BitBlt(0,0,nWidth,nHeight,&MemDC,0,0,SRCCOPY);
MemDC.SelectObject(pOldBit);//别忘了要选进原始位图
MemBitmap.DeleteObject();