1。我用连续调用图形文件在窗体上做出动画效果,请问显示一帧的同时如何将上一帧的内容擦除。2,我想将以透明显示的图形按其边缘定义成一个rgn, 然后通过这个rgn来相应鼠标事件,同时用来处理图形的碰撞事件,不知这种方法是否行得通,请教具体的实现方法,如有源代码邮到: [email protected]
我没有用到directx 和mfc

解决方案 »

  1.   

    如果不用DirectX,你在画图时要注意,不能直接在窗口上化,应该用CreateCompitableDC建立一个和当前显示方式兼容的DC,然后创建一个和窗口同等大小的bitmap,并把该bitmap选入兼容的dc中.你的作图要在memory dc里完成,然后调用bitblt函数将内存的绘画内容显示到窗口上.
      

  2.   

    你下一帧blit到窗口上不就把上一帧给盖住了吗.除非你不是blit的整个窗口,而只是一个区域.如果只是一个区域,你可以定义一个区域的约束矩形,每次重绘就把整个矩形内的内容更新.约束矩形外的部分则保持不变(相当于保持背景不变)