Stili di classe

Gli stili di classe definirebbero ulteriori elementi della classe window. Due o più stili possono essere combinati utilizzando OR bit per bit (|) operatore. Per assegnare uno stile a una classe di finestra, assegnare lo stile del membro di stile della struttura WNDCLASSEX . Gli stili di classe sono i seguenti.

Stile Azione
CS_BYTEALIGNCLIENT Allinea area client della finestra su un limite di byte (nella direzione x). Questo stile colpisce la larghezza della finestra e la relativa posizione orizzontale sul display.
CS_BYTEALIGNWINDOW Allinea la finestra su un limite di byte (nella direzione x). Questo stile colpisce la larghezza della finestra e la relativa posizione orizzontale sul display.
CS_CLASSDC Alloca un contesto di periferica per essere condivisi da tutte le finestre nella classe. Poiché le classi di finestre sono processo specifico, è possibile che più thread di un'applicazione per creare una finestra della stessa classe. È anche possibile che i thread di cercare di utilizzare simultaneamente il contesto di periferica. Quando questo accade, il sistema consente un solo thread alla fine con successo l'operazione di disegno. Per ulteriori informazioni, Contesti di periferica.
CS_DBLCLKS Invia un messaggio di doppio clic routine di finestra quando l'utente fa doppio clic del mouse mentre il cursore è all'interno di una finestra appartenente alla classe. Per ulteriori informazioni, vedere l'Input del Mouse.
CS_GLOBALCLASS Specifica che la classe finestra è una classe di applicazione globale. Per ulteriori informazioni, vedere Classi globale per l'applicazione.
CS_HREDRAW Specifica che l'intera finestra deve essere ridisegnato se una regolazione del movimento o la dimensione viene modificata la larghezza dell'area client.
CS_NOCLOSE Disattiva il comando Chiudi dal menu di sistema.
CS_OWNDC Alloca un contesto di periferica univoci per ogni finestra nella classe. Per ulteriori informazioni su contesti di periferica, vedere Contesti di periferica.
CS_PARENTDC Imposta il rettangolo di ritaglio della finestra secondaria a quella della finestra padre in modo che il bambino può disegnare sull'oggetto padre. Una finestra con il bit di stile CS_PARENTDC riceve un contesto di periferica regolari dalla cache del sistema di contesti di periferica. Non dà il bambino del genitore contesto di periferica o impostazioni del contesto di periferica. Specificando CS_PARENTDC migliora le prestazioni di un'applicazione. Per ulteriori informazioni, vedere Contesti di periferica.
CS_SAVEBITS Salva come bitmap, la porzione dell'immagine dello schermo oscurato da una finestra. Il sistema utilizza la bitmap salvata per ricreare l'immagine sullo schermo quando la finestra viene rimosso. Il sistema visualizza la bitmap nella posizione originale e non invia messaggi WM_PAINT alle finestre oscurate dalla finestra se altre azioni di schermo non hanno invalidato l'immagine memorizzata. Utilizzare questo stile per piccole finestre che sono visualizzati brevemente e poi rimosso prima altre attività dello schermo avviene (ad esempio, menu e finestre di dialogo). Questo stile aumenta il tempo necessario per visualizzare la finestra, perché il sistema in primo luogo necessario allocare la memoria per archiviare la bitmap.
CS_VREDRAW Specifica che l'intera finestra deve essere ridisegnato se una regolazione del movimento o la dimensione viene modificata l'altezza dell'area client.

Classi e contesti di periferica

Un contesto di periferica è una speciale serie di valori che le applicazioni utilizzano per disegnare nell'area di loro windows client. Il sistema richiede un contesto di periferica per ogni finestra sullo schermo ma permette qualche flessibilità in quanto il sistema memorizza e gestisce tale contesto di periferica.

Se nessun stile di contesto di periferica è dato in modo esplicito, il sistema assume che ogni finestra utilizza un contesto di periferica Estratto da un pool di contesti gestite dal sistema. In tali casi, ogni finestra deve recuperare e inizializzare il contesto di periferica prima della verniciatura e liberarlo dopo pittura.

Per evitare il recupero di un contesto di periferica ogni volta che deve disegnare all'interno di una finestra, un'applicazione può specificare lo stile CS_OWNDC per la classe di finestra. Questo stile di classe dirige il sistema per creare un contesto di periferica privato — cioè, per allocare un contesto di periferica univoci per ogni finestra nella classe. L'applicazione bisogno di recuperare il contesto solo una volta e quindi utilizzarlo per tutte le successiva dipinto.

Windows 95 e Windows 98: Anche se lo stile CS_OWNDC è conveniente, usarlo con attenzione, perché ogni contesto di periferica utilizza una parte significativa dell'heap di GDI K 64.

Rimedio: Inserire il CD-ROM CD di MSDN Library.

Index