Area non client
Il sistema invia un messaggio WM_NCPAINT alla finestra ogni volta che deve essere aggiornata una parte dell'area non client della finestra, ad esempio la barra del titolo, la barra dei menu o la cornice della finestra. Il sistema può anche inviare altri messaggi per indirizzare una finestra per aggiornare una parte dell'area client; ad esempio, quando una finestra diventa attiva o inattiva, invia il messaggio WM_NCACTIVATE per aggiornare la barra del titolo. In generale, l'elaborazione di questi messaggi per le finestre standard non è consigliata, perché l'applicazione deve essere in grado di disegnare tutte le parti necessarie dell'area nonclient per la finestra. Per questo motivo, la maggior parte delle applicazioni passa questi messaggi a DefWindowProc per l'elaborazione predefinita.
Un'applicazione che crea aree non client personalizzate per le finestre deve elaborare questi messaggi. In questo caso, l'applicazione deve usare un contesto del dispositivo finestra per eseguire il disegno nella finestra. Il contesto del dispositivo finestra consente all'applicazione di disegnare in tutte le parti della finestra, inclusa l'area nonclient. Un'applicazione recupera un contesto del dispositivo finestra usando la funzione GetWindowDC o GetDCEx e, al termine del disegno, deve rilasciare il contesto del dispositivo finestra usando la funzione ReleaseDC.
Il sistema gestisce un'area di aggiornamento per l'area nonclient. Quando un'applicazione riceve un messaggio di WM_NCPAINT , il parametro wParam contiene un handle in un'area che definisce le dimensioni dell'area di aggiornamento. L'applicazione può usare l'handle per combinare l'area di aggiornamento con l'area di ritaglio per il contesto del dispositivo finestra. Il sistema non combina automaticamente l'area di aggiornamento durante il recupero del contesto del dispositivo finestra a meno che l'applicazione usi GetDCEx e specifica sia l'handle dell'area che il flag di DCX_INTERSECTRGN. Se l'applicazione non combina l'area di aggiornamento, vengono ritagliate solo le operazioni di disegno che altrimenti si estendono all'esterno della finestra. L'applicazione non è responsabile della cancellazione dell'area di aggiornamento, indipendentemente dal fatto che usi l'area.
Se un'applicazione elabora il messaggio di WM_NCACTIVATE , dopo l'elaborazione deve restituire TRUE per indirizzare il sistema per completare la modifica della finestra attiva. Se la finestra viene ridotta al minimo quando l'applicazione riceve il messaggio di WM_NCACTIVATE , deve passare il messaggio a DefWindowProc. In questi casi, la funzione predefinita ridisegna l'etichetta per l'icona.