Condividi tramite


Stili classe finestra

Gli stili di classe definiscono elementi aggiuntivi della classe window. È possibile combinare due o più stili usando l'operatore OR bit per bit (|). Per assegnare uno stile a una classe finestra, assegnare lo stile al membro di stile della struttura WNDCLASSEX .

Esempio

    WNDCLASS wc = {};
    wc.lpfnWndProc = s_DropDownWndProc;
    wc.cbWndExtra = sizeof(CTipACDialog *);
    wc.hInstance = g_hInstance;
    wc.hCursor = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
    wc.style = CS_SAVEBITS | CS_DROPSHADOW;
    wc.lpszClassName = s_wzClassName;
    RegisterClass(&wc);

Esempio di esempi classici di Windows in GitHub.

Costanti

Di seguito sono riportati gli stili della classe della finestra.

Costante/valore Descrizione
CS_BYTEALIGNCLIENT
0x1000
Allinea l'area client della finestra su un limite di byte (nella direzione x). Questo stile influisce sulla larghezza della finestra e sulla relativa posizione orizzontale sullo schermo.
CS_BYTEALIGNWINDOW
0x2000
Allinea la finestra su un limite di byte (nella direzione x). Questo stile influisce sulla larghezza della finestra e sulla relativa posizione orizzontale sullo schermo.
CS_CLASSDC
0x0040
Alloca un contesto di dispositivo da condividere da tutte le finestre della classe . Poiché le classi finestra sono specifiche del processo, è possibile che più thread di un'applicazione creino una finestra della stessa classe. È anche possibile che i thread tentino di usare simultaneamente il contesto di dispositivo. In questo caso, il sistema consente a un solo thread di completare correttamente l'operazione di disegno.
CS_DBLCLKS
0x0008
Invia un messaggio di doppio clic alla routine della finestra quando l'utente fa doppio clic sul mouse mentre il cursore si trova all'interno di una finestra appartenente alla classe .
CS_DROPSHADOW
0x00020000
Abilita l'effetto ombreggiatura sulla finestra. L'effetto viene attivato e disattivato tramite SPI_SETDROPSHADOW. In genere, questa funzionalità è abilitata per finestre di piccole dimensioni di breve durata, ad esempio i menu, per evidenziare la relazione con l'ordine Z con altre finestre. Le finestre create da una classe con questo stile devono essere finestre di primo livello; potrebbero non essere finestre figlio.
CS_GLOBALCLASS
0x4000
Indica che la classe window è una classe globale dell'applicazione. Per altre informazioni, vedere la sezione "Classi globali dell'applicazione" di Informazioni sulle classi finestra.
CS_HREDRAW
0x0002
Ridisegna l'intera finestra se un movimento o una regolazione delle dimensioni modifica la larghezza dell'area client.
CS_NOCLOSE
0x0200
Disabilita Chiudi nel menu della finestra.
CS_OWNDC
0x0020
Alloca un contesto di dispositivo univoco per ogni finestra della classe .
CS_PARENTDC
0x0080
Imposta il rettangolo di ritaglio della finestra figlio su quello della finestra padre in modo che l'elemento figlio possa disegnare sull'elemento padre. Una finestra con il bit di stile CS_PARENTDC riceve un contesto di dispositivo normale dalla cache del sistema dei contesti di dispositivo. Non assegna all'elemento figlio le impostazioni del contesto di dispositivo o del contesto di dispositivo dell'elemento padre. Specificare CS_PARENTDC migliora le prestazioni di un'applicazione.
CS_SAVEBITS
0x0800
Salva, come bitmap, la parte dell'immagine dello schermo nascosta da una finestra di questa classe. Quando la finestra viene rimossa, il sistema usa la bitmap salvata per ripristinare l'immagine dello schermo, incluse altre finestre oscurate. Pertanto, il sistema non invia messaggi WM_PAINT a finestre oscurate se la memoria utilizzata dalla bitmap non è stata eliminata e se altre azioni dello schermo non hanno invalidato l'immagine archiviata.
Questo stile è utile per finestre di piccole dimensioni (ad esempio, menu o finestre di dialogo) che vengono visualizzati brevemente e quindi rimossi prima che venga eseguita un'altra attività dello schermo. Questo stile aumenta il tempo necessario per visualizzare la finestra, perché il sistema deve prima allocare memoria per archiviare la bitmap.
CS_VREDRAW
0x0001
Ridisegna l'intera finestra se un movimento o una regolazione delle dimensioni modifica l'altezza dell'area client.

Requisiti

Requisito Valore
Client minimo supportato
Windows 2000 Professional [solo app desktop]
Server minimo supportato
Windows 2000 Server [solo app desktop]
Intestazione
Winuser.h (include Windows.h)