绘制最小化窗口
你可以绘制自己的最小化窗口,而不是让系统为你绘制它们。 大多数应用程序在为窗口注册窗口类时定义类图标,当窗口最小化时,系统会绘制该图标。 但是,如果将类图标设置为 NULL,则每当窗口最小化时,系统会向窗口过程发送 WM_PAINT 消息,使窗口过程能够在最小化的窗口中绘制。
在下面的示例中,窗口过程在最小化的窗口中绘制star。 该过程使用 IsIconic 函数来确定窗口何时最小化。 这可确保仅在窗口最小化时绘制star。
POINT aptStar[6] = {50,2, 2,98, 98,33, 2,33, 98,98, 50,2};
.
.
.
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);
// Determine whether the window is minimized.
if (IsIconic(hwnd))
{
GetClientRect(hwnd, &rc);
SetMapMode(hdc, MM_ANISOTROPIC);
SetWindowExtEx(hdc, 100, 100, NULL);
SetViewportExtEx(hdc, rc.right, rc.bottom, NULL);
Polyline(hdc, aptStar, 6);
}
else
{
TextOut(hdc, 0,0, "Hello, Windows!", 15);
}
EndPaint(hwnd, &ps);
return 0L;
在调用窗口类的 RegisterClass 函数之前,通过将WNDCLASS 结构的 hIcon 成员设置为 NULL,可以将类图标设置为 NULL。