Partager via


Dessin d’une fenêtre réduite

Vous pouvez dessiner vos propres fenêtres réduites au lieu de les faire dessiner pour vous par le système. La plupart des applications définissent une icône de classe lors de l’inscription de la classe window pour la fenêtre, et le système dessine l’icône lorsque la fenêtre est réduite. Toutefois, si vous définissez l’icône de classe sur NULL, le système envoie un message WM_PAINT à votre procédure de fenêtre chaque fois que la fenêtre est réduite, ce qui permet à la procédure de fenêtre de dessiner dans la fenêtre réduite.

Dans l’exemple suivant, la procédure de fenêtre dessine un star dans la fenêtre réduite. La procédure utilise la fonction IsIconic pour déterminer quand la fenêtre est réduite. Cela garantit que le star est dessiné uniquement lorsque la fenêtre est réduite.

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; 

Vous définissez l’icône de classe sur NULL en définissant le membre hIcon de la structure WNDCLASS sur NULL avant d’appeler la fonction RegisterClass pour la classe window.