请教WM_ERASEBKGND
我在游戏编程中用的是双缓冲机制重绘窗口,可有时还闪烁一下,听说主要是不停的重绘造成的,别人说要响应WM_ERASEBKGND消息就解决了(用win32api直接编程,不是mfc),那么我应该在该响应的代码中加入什么才能不闪烁?还是什么不加,return 0;直接返回?
参考答案:WM_ERASEBKGND消息是在指示HWND的整个背景窗体需要被擦除的时候才发送的。
游戏编程中,一般来说总是全屏刷新重绘的,所以WM_ERASEBKGND的时候直接返回一个1即return 1,以告诉Windows你已经自己处理过了重绘了,所以接下来Windows不不会再做处理。否则,Windows会自己去重绘整个背景的。