我看过 google 搜索到的所有自绘背景中对 CWnd::OnEraseBkgnd WM_ERASEBKGND 消息都是说直接返回 TRUE. 这样处理在大多数情况下 ok 但 windows 的效果一多,在窗体上拖动其他窗体就会在本窗体上形成斑块,很明显是有区域失效了,所以这时还是要绘制背景的,但不能取别的 DC 而应当直接用事件中传过来的 dc.
Syntax
WM_ERASEBKGND
WPARAM wParam LPARAM lParam;
Parameters
wParam
Handle to the device context.
lParam
This parameter is not used.
要注意的是这时的 dc 中的图像是不完整的,不能把 dc 中的内容用在别处(如保存拿来做按钮背景) .