Leggere in inglese

Condividi tramite


Rappresentazione di una finestra ridotta a icona

È possibile disegnare le proprie finestre ridotte a icona invece di avere il sistema di disegnarle per voi. La maggior parte delle applicazioni definisce un'icona di classe quando registra la classe della finestra, e il sistema disegna l'icona quando la finestra viene minimizzata. Se si imposta l'icona della classe su NULL, tuttavia, il sistema invia un messaggio WM_PAINT alla routine della finestra ogni volta che la finestra viene ridotta a icona, consentendo alla routine della finestra di disegnare nella finestra ridotta a icona.

Nell'esempio seguente, la procedura finestra disegna una stella nella finestra ridotta a icona. La procedura usa la funzione IsIconic per determinare quando la finestra viene ridotta a icona. Ciò garantisce che la stella venga disegnata solo quando la finestra è ridotta a icona.

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; 

Impostare l'icona della classe su NULL impostando il membro hIcon della strutturaWNDCLASSsu NULL prima di chiamare la funzioneRegisterClassper la classe window.