Freigeben über


Zeichnen eines minimierten Fensters

Sie können Ihre eigenen minimierten Fenster zeichnen, anstatt sie vom System zeichnen zu lassen. Die meisten Anwendungen definieren beim Registrieren der Fensterklasse für das Fenster ein Klassensymbol, und das System zeichnet das Symbol, wenn das Fenster minimiert wird. Wenn Sie das Klassensymbol jedoch auf NULL festlegen, sendet das System eine WM_PAINT Nachricht an Ihre Fensterprozedur, wenn das Fenster minimiert wird, sodass die Fensterprozedur im minimierten Fenster zeichnen kann.

Im folgenden Beispiel zeichnet die Fensterprozedur eine star im minimierten Fenster. Die Prozedur verwendet die IsIconic-Funktion , um zu bestimmen, wann das Fenster minimiert wird. Dadurch wird sichergestellt, dass die star nur gezeichnet wird, wenn das Fenster minimiert wird.

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; 

Sie legen das Klassensymbol auf NULL fest, indem Sie das hIcon-Member der WNDCLASS-Struktur auf NULL festlegen, bevor Sie die RegisterClass-Funktion für die Fensterklasse aufrufen.