我知道移动的原理是:先画一个,然后用背景色擦除,然后在另外的地方画出来.但是假如背景是复杂的图像,不是简单的一种颜色,这种方法好像行不通啊.

解决方案 »

  1.   

    不是考虑的擦除的问题,而是考虑重绘
    每次OnPaint的时候用BitBlt绘制背景
    然后将前景的图形绘制到一个内存DC上,为其给定某种背景色
    然后用TransparentBlt将前景也绘制到屏幕的设备DC上
      

  2.   

    OnPaint重绘.和背景没关系的.因为重新画的时候原来的已经被删除了(所以不会出现原来的遮挡住背景的问题).
      

  3.   

    每次重绘????如果窗口不动的话应该只是最先的onpaint一次啊,难道要postmessage(WM_PAINT)吗?