Condividi tramite


Struttura WNDCLASSEXW (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 per una piccola icona associata alla classe della finestra.

Sintassi

typedef struct tagWNDCLASSEXW {
  UINT      cbSize;
  UINT      style;
  WNDPROC   lpfnWndProc;
  int       cbClsExtra;
  int       cbWndExtra;
  HINSTANCE hInstance;
  HICON     hIcon;
  HCURSOR   hCursor;
  HBRUSH    hbrBackground;
  LPCWSTR   lpszMenuName;
  LPCWSTR   lpszClassName;
  HICON     hIconSm;
} WNDCLASSEXW, *PWNDCLASSEXW, *NPWNDCLASSEXW, *LPWNDCLASSEXW;

Membri

cbSize

Tipo: UINT

Dimensione, in byte, di questa 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 routine della finestra. Per chiamare la routine della finestra, è necessario usare la funzione CallWindowProc. Per altre informazioni, vedere WindowProc.

cbClsExtra

Tipo: int

Numero di byte aggiuntivi da allocare dopo la struttura della classe window. Il sistema inizializza i byte su zero.

cbWndExtra

Tipo: int

Numero di byte aggiuntivi da allocare dopo l'istanza della finestra. Il sistema inizializza i byte su zero. Se un'applicazione usa WNDCLASSEX per registrare una finestra di dialogo creata usando la direttiva CLASS nel file di risorse, deve impostare questo membro su DLGWINDOWEXTRA.

hInstance

Tipo: HINSTANCE

Handle per l'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 per il 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 utilizzare 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 di 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
Il sistema elimina automaticamente i pennelli di sfondo della classe quando la classe viene annullata la registrazione usando UnregisterClass. Un'applicazione non deve eliminare questi pennelli.

Quando questo membro è NULL, un'applicazione deve disegnare 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 di WM_ERASEBKGND o testare il membro fErase della struttura PAINTSTRUCT riempita 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 utilizza un numero intero per identificare il menu, utilizzare la macro MAKEINTRESOURCE. Se questo membro è NULL, le finestre appartenenti a questa classe non hanno un menu predefinito.

lpszClassName

Tipo: LPCTSTR

Un puntatore a una stringa con terminazione Null o è un atom. Se questo parametro è un atomo, deve essere un atom di classe creato da una chiamata precedente alla RegisterClass o funzione RegisterClassEx. L'atomo deve essere nella parola in ordine basso di lpszClassName; la parola di ordine elevato deve essere zero.

Se lpszClassName è una stringa, specifica il nome della classe della finestra. Il nome della classe può essere qualsiasi nome registrato con RegisterClass o RegisterClassExo uno qualsiasi 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 di una piccola icona associata alla classe window. Se questo membro è NULL, il sistema cerca la risorsa icona specificata dal membro hIcon per ottenere un'icona delle dimensioni appropriate da usare come icona piccola.

Osservazioni

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 del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

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)

Vedere anche

concettuale

GetClassInfoEx

riferimento

RegisterClassEx

UnregisterClass

classi finestra