绘制最小化窗口

你可以绘制自己的最小化窗口,而不是让系统为你绘制它们。 大多数应用程序在为窗口注册窗口类时定义类图标,当窗口最小化时,系统会绘制该图标。 但是,如果将类图标设置为 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