-
-
大家帮我看看这个问题怎么解决。。
-
发表于:
2005-12-6 20:53
4379
-
显是有问题,会一闪一闪的
我想问题是出在用InvalidateRect发送WM_PAINT消息时,我用的是:
invoke InvalidateRect,hWnd,NULL,TRUE 这种方法
也就是先擦除背景,再重新画图,这样每次收到WM_PAINT消息的时候屏幕就被全部画为白色后再重新画图,看起来就是一闪一闪的。
我把 InvalidateRect函数改了一下:
invoke InvalidateRect,hWnd,NULL,NULL,也就是不擦除背景。
再设置只有被移动的方块才重画,停在下方的方块不再重画,对移动的方块我是把方块上一个位置先擦除,再画下一个位置。
但结果还是很难看,不移动的方块不需要重画就不会闪,可是移动的方块看起来还是闪得相当厉害,真是没办法了。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课