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.