SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
这个函数,是发送WM_ICONERASEBKGND到本窗口消息队列,(WPARAM) dc.GetSafeHdc(), 是响应这个消息的函数的参数。
WM_ICONERASEBKGND发送给某个最小化窗口,仅当它在画图标前它的背景必须被重画
后面获取图标信息,设置,然后重新画
(以下参考自MSDN)
在计算机绘制
窗口类的图标前,系统发送一个WM_ICONERASEBKGND消息给窗口消息处理函数(window procedure),通过设置最合适的背景色,使应用程序能够准备绘制图标的背景。这对于一些使用当前背景色组成图标的应用程序很有用。如果应用程序处理这个消息,它将使用这个消息提供的
设备上下文来绘制背景(wParam参数包含了显示DC的句柄)。如果应用程序没有处理WM_ICONERASEBKGND消息的函数,那么它将被送到系统默认消息处理函数处(DefWindowProc);这个函数使用当前
桌面的颜色和图案填充图标区域。当WM_ICONERASEBKGND消息发送完毕,系统发送WM_PAINTICON消息给窗口消息处理函数。应用程序会立刻把这个消息传递至系统默认消息处理函数(DefWindowProc)。