Struttura WNDCLASSEXA (winuser.h)
Contiene informazioni sulla classe della finestra. Viene usato con le funzioni RegisterClassEx e GetClassInfoEx .
La struttura WNDCLASSEX è simile alla struttura WNDCLASS . Esistono due differenze. WNDCLASSEX include il membro cbSize , che specifica le dimensioni della struttura e il membro hIconSm , che contiene un handle a un'icona piccola associata alla classe di finestra.
Sintassi
typedef struct tagWNDCLASSEXA {
UINT cbSize;
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCSTR lpszMenuName;
LPCSTR lpszClassName;
HICON hIconSm;
} WNDCLASSEXA, *PWNDCLASSEXA, *NPWNDCLASSEXA, *LPWNDCLASSEXA;
Members
cbSize
Tipo: UINT
Dimensione, in byte, della struttura. Impostare questo membro su sizeof(WNDCLASSEX)
. Assicurarsi di impostare questo membro prima di chiamare la funzione GetClassInfoEx .
style
Tipo: UINT
Stili di classe. Questo membro può essere qualsiasi combinazione degli stili di classe.
lpfnWndProc
Tipo: WNDPROC
Puntatore alla procedura della finestra. È necessario usare la funzione CallWindowProc per chiamare la routine della finestra. Per altre informazioni, vedere WindowProc.
cbClsExtra
Tipo: int
Numero di byte aggiuntivi da allocare seguendo la struttura della classe di finestra. Il sistema inizializza i byte a zero.
cbWndExtra
Tipo: int
Numero di byte aggiuntivi da allocare seguendo l'istanza della finestra. Il sistema inizializza i byte a zero. Se un'applicazione usa WNDCLASSEX per registrare una finestra di dialogo creata usando la direttiva CLASS nel file di risorse, è necessario impostare questo membro su DLGWINDOWEXTRA.
hInstance
Tipo: HINSTANCE
Handle all'istanza che contiene la routine della finestra per la classe.
hIcon
Tipo: HICON
Handle per l'icona della classe. Questo membro deve essere un handle per una risorsa icona. Se questo membro è NULL, il sistema fornisce un'icona predefinita.
hCursor
Tipo: HCURSOR
Handle al cursore della classe. Questo membro deve essere un handle per una risorsa cursore. Se questo membro è NULL, un'applicazione deve impostare in modo esplicito la forma del cursore ogni volta che il mouse si sposta nella finestra dell'applicazione.
hbrBackground
Tipo: HBRUSH
Handle per il pennello di sfondo della classe. Questo membro può essere un handle per il pennello da usare per disegnare lo sfondo oppure può essere un valore di colore. Un valore di colore deve essere uno dei colori di sistema standard seguenti (il valore 1 deve essere aggiunto al colore scelto). Se viene specificato un valore di colore, è necessario convertirlo in uno dei tipi HBRUSH seguenti:
- 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
Quando questo membro è NULL, un'applicazione deve dipingere il proprio sfondo ogni volta che viene richiesto di disegnare nell'area client. Per determinare se è necessario disegnare lo sfondo, un'applicazione può elaborare il messaggio WM_ERASEBKGND o testare il membro fErase della struttura PAINTSTRUCT riempito dalla funzione BeginPaint .
lpszMenuName
Tipo: LPCTSTR
Puntatore a una stringa di caratteri con terminazione null che specifica il nome della risorsa del menu della classe, come viene visualizzato nel file di risorse. Se si usa un intero per identificare il menu, usare la macro MAKEINTRESOURCE . Se questo membro è NULL, le finestre appartenenti a questa classe non hanno un menu predefinito.
lpszClassName
Tipo: LPCTSTR
Puntatore a una stringa con terminazione Null o è un atomo. Se questo parametro è un atomo, deve essere un atomo di classe creato da una chiamata precedente alla funzione RegisterClass o RegisterClassEx . L'atomo deve essere nella parola a basso ordine di lpszClassName; la parola di ordine elevato deve essere zero.
Se lpszClassName è una stringa, specifica il nome della classe di finestra. Il nome della classe può essere qualsiasi nome registrato con RegisterClass o RegisterClassEx o uno dei nomi predefiniti della classe di controllo.
La lunghezza massima per lpszClassName è 256. Se lpszClassName è maggiore della lunghezza massima, la funzione RegisterClassEx avrà esito negativo.
hIconSm
Tipo: HICON
Handle a un'icona di piccole dimensioni associata alla classe di finestra. Se questo membro è NULL, il sistema cerca la risorsa icona specificata dal membro hIcon per un'icona delle dimensioni appropriate da usare come icona piccola.
Commenti
Nota
L'intestazione winuser.h definisce WNDCLASSEX come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.
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) |
Vedi anche
Informazioni concettuali
Riferimento