WNDCLASS

La struttura WNDCLASS contiene gli attributi di classe della finestra che sono registrati dalla funzione RegisterClass.

Questa struttura è stata sostituita dalla struttura WNDCLASSEX utilizzata con la funzione RegisterClassEx . È comunque possibile utilizzare WNDCLASS e RegisterClass se non è necessario impostare la piccola icona associata alla classe della finestra.

typedef struct _WNDCLASS {UINT style; 
    Metodo WNDPROC lpfnWndProc; 
    int cbClsExtra; 
    int cbWndExtra; 
    GESTIRE hInstance; 
    HICON hIcon; 
    HCURSOR hCursor; 
    HBRUSH hbrBackground; 
    LPCTSTR lpszMenuName; 
    LPCTSTR lpszClassName; 
} WNDCLASS 
 

Membri

stile
Specifica la classe style(s). Gli stili possono essere combinati utilizzando OR bit per bit (|) operatore. Questo membro può essere qualsiasi combinazione dei seguenti valori:
Valore Azione
CS_BYTEALIGNCLIENT Allinea area client della finestra sul limite di byte (nella direzione x). Questo stile colpisce la larghezza della finestra e la posizione orizzontale sul display.
CS_BYTEALIGNWINDOW Allinea una finestra su un limite di byte (nella direzione x). Questo stile colpisce la larghezza della finestra e la 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, vedere Contesti di periferica.
CS_DBLCLKS Fare doppio clic manda su messaggi di routine di finestra quando l'utente fa doppio clic del mouse mentre il cursore è all'interno di una finestra appartenente alla classe.
CS_GLOBALCLASS Consente a un'applicazione creare una finestra della classe indipendentemente dal valore del parametro hInstance passato alla funzione CreateWindowEx o CreateWindow . Se non si specifica di questo stile, il hInstance parametro passato alla funzione CreateWindow (o CreateWindowEx) deve essere lo stesso come hInstance parametro passato alla funzione RegisterClass.
È possibile creare una classe globale creando la classe finestra in una libreria a collegamento dinamico (DLL) e il nome della DLL le seguenti chiavi del Registro di sistema:
HKEY_LOCAL_MACHINE\Software
\Microsoft\Windows NT\
CurrentVersion\Windows\AppInit_DLLs
Ogni volta che si avvia un processo, il sistema carica le dll specificate nel contesto del processo appena avviato prima di chiamare la funzione di punto di ingresso in quel processo. La DLL deve registrare la classe durante la sua procedura di inizializzazione e deve specificare lo stile CS_GLOBALCLASS.
CS_HREDRAW Ridisegna l'intera finestra se un movimento o adeguamento di dimensione viene modificata la larghezza dell'area client.
CS_NOCLOSE Disabilita Chiudi dal menu finestra.
CS_OWNDC Alloca un contesto di periferica univoci per ogni finestra nella classe.
CS_PARENTDC Imposta l'area di visualizzazione 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 la memoria utilizzata dal bitmap non è stata scartata e altre azioni di schermo non hanno invalidato l'immagine memorizzata. Questo stile è utile per piccole finestre (ad esempio, menu e finestre di dialogo) che vengono visualizzati brevemente e poi rimosso prima altre attività dello schermo avviene. 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 Ridisegna l'intera finestra se un movimento o adeguamento di dimensione viene modificata l'altezza dell'area client.

lpfnWndProc
Puntatore a una routine di finestra. È necessario utilizzare la funzione CallWindowProc per chiamare la routine della finestra. Per ulteriori informazioni, vedere WindowProc.
cbClsExtra
Specifica il numero di byte supplementari per allocare in seguito la struttura della classe della finestra. Il sistema Inizializza i byte a zero.
cbWndExtra
Specifica il numero di byte supplementari da destinare a seguito dell'istanza della finestra. Il sistema Inizializza i byte a zero. Se un'applicazione utilizza WNDCLASS per registrare una finestra di dialogo creata tramite la direttiva di classe nel file di risorse, è necessario impostare questo membro su DLGWINDOWEXTRA.
hInstance
Gestire all'istanza che la routine della finestra di questa classe è all'interno.
hIcon
Gestire l'icona della classe. Questo membro deve essere un handle di una risorsa icona. Se questo membro è NULL, un'applicazione deve disegnare un'icona ogni volta che l'utente riduce al minimo la finestra dell'applicazione.
hCursor
Handle per il cursore di classe. Questo membro deve essere un handle di una risorsa di cursore. Se questo membro è NULL, un'applicazione deve impostare in modo esplicito la forma del cursore quando il mouse si sposta nella finestra dell'applicazione.
hbrBackground
Handle per il pennello di sfondo di classe. Questo membro può essere un handle per il pennello fisico da utilizzare per lo sfondo, o può essere un valore di colore. Un valore di colore deve essere uno dei seguenti colori standard di sistema (il valore 1 deve essere aggiunto al colore scelto). Se viene assegnato un valore di colore, è necessario convertire ad uno dei seguenti tipi di HBRUSH:

COLOR_ACTIVEBORDER
COLOR_ACTIVECAPTION
COLOR_APPWORKSPACE
COLOR_BACKGROUND
COLOR_BTNFACE
COLOR_BTNSHADOW
COLOR_BTNTEXT
COLOR_CAPTIONTEXT
COLOR_GRAYTEXT
COLOR_HIGHLIGHT
COLOR_HIGHLIGHTTEXT
COLOR_INACTIVEBORDER
COLOR_INACTIVECAPTION
COLOR_MENU
COLOR_MENUTEXT
COLOR_SCROLLBAR
COLOR_WINDOW
COLOR_WINDOWFRAME
COLOR_WINDOWTEXT

Il sistema elimina automaticamente pennelli sfondo classe quando la classe viene liberata. Un'applicazione non dovrebbe eliminare questi pennelli, perché una classe possa essere utilizzata da più istanze di un'applicazione.

Quando questo membro è NULL, un'applicazione deve disegnare il proprio sfondo ogni volta che viene richiesto per dipingere in area client. Per determinare se deve essere dipinto sullo sfondo, un'applicazione può elaborare il messaggio WM_ERASEBKGND o testare il membro fErase i PAINTSTRUCT struttura riempito dalla funzione BeginPaint.

lpszMenuName
Puntatore a una stringa di caratteri con terminazione null che specifica il nome della risorsa di menu in classe, come il nome appare nel file di risorse. Se si utilizza un valore integer per identificare il menu, utilizzare la macro MAKEINTRESOURCE . Se questo membro è NULL, windows appartenenti a questa classe non dispone di nessun menu predefinito.
lpszClassName
Puntatore a una stringa con terminazione null o è un atomo. Se questo parametro è un atomo, deve essere un atomo globale creato da una precedente chiamata alla funzione GlobalAddAtom . L'atomo, un valore di 16 bit, deve essere nella parola significativi di lpszClassName; la parola di ordine superiore deve essere zero.

Se lpszClassName è una stringa, specifica il nome della classe della finestra.

Descrizione

nbsp; Windows &NT: richiede 3.1 o versione successiva.
Windows:Richiede Windows 95 o versioni successive.
Windows CE:Richiede la versione 1.0 o successiva.
Intestazione:Dichiarati in winuser.
Unicode:Definito come strutture di Unicode e ANSI.

Vedi anche

Window Classes Overview, Window Class Structures, BeginPaint, CreateWindow, CreateWindowEx, GetDC, GlobalAddAtom, MAKEINTRESOURCE, PAINTSTRUCT, RegisterClass, WNDCLASSEX, WindowProc, WM_PAINT

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

Index