WNDCLASSEXA-Struktur (winuser.h)
Enthält Informationen zur Fensterklasse. Sie wird mit den Funktionen RegisterClassEx und GetClassInfoEx verwendet.
Die WNDCLASSEX-Struktur ähnelt der WNDCLASS-Struktur . Es gibt zwei Unterschiede. WNDCLASSEX enthält den cbSize-Member , der die Größe der Struktur angibt, und den hIconSm-Member , der ein Handle für ein kleines Symbol enthält, das der Fensterklasse zugeordnet ist.
Syntax
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;
Member
cbSize
Typ: UINT
Die Größe (in Bytes) dieser Struktur. Legen Sie dieses Element auf fest sizeof(WNDCLASSEX)
. Stellen Sie sicher, dass Sie diesen Member festlegen, bevor Sie die GetClassInfoEx-Funktion aufrufen.
style
Typ: UINT
Die Klassenstile. Bei diesem Member kann es sich um eine beliebige Kombination der Klassenstile handeln.
lpfnWndProc
Typ: WNDPROC
Ein Zeiger auf die Fensterprozedur. Sie müssen die CallWindowProc-Funktion verwenden, um die Fensterprozedur aufzurufen. Weitere Informationen finden Sie unter WindowProc.
cbClsExtra
Typ: int
Die Anzahl der zusätzlichen Bytes, die nach der Window-Class-Struktur zugeordnet werden sollen. Das System initialisiert die Bytes auf null.
cbWndExtra
Typ: int
Die Anzahl der zusätzlichen Bytes, die nach dem Fenster instance zugeordnet werden sollen. Das System initialisiert die Bytes auf null. Wenn eine Anwendung WNDCLASSEX verwendet, um ein Dialogfeld zu registrieren, das mithilfe der CLASS-Anweisung in der Ressourcendatei erstellt wurde, muss sie dieses Element auf DLGWINDOWEXTRA festlegen.
hInstance
Typ: HINSTANCE
Ein Handle für die instance, das die Fensterprozedur für die -Klasse enthält.
hIcon
Typ: HICON
Ein Handle für das Klassensymbol. Dieser Member muss ein Handle für eine Symbolressource sein. Wenn dieser Member NULL ist, stellt das System ein Standardsymbol bereit.
hCursor
Typ: HCURSOR
Ein Handle für den Klassencursor. Dieser Member muss ein Handle für eine Cursorressource sein. Wenn dieser Member NULL ist, muss eine Anwendung die Cursorform explizit festlegen, wenn die Maus in das Fenster der Anwendung wechselt.
hbrBackground
Typ: HBRUSH
Ein Handle für den Klassenhintergrundpinsel. Dieser Member kann ein Ziehpunkt für den Pinsel sein, der zum Zeichnen des Hintergrunds verwendet werden soll, oder es kann ein Farbwert sein. Ein Farbwert muss eine der folgenden Standardsystemfarben sein (der Wert 1 muss der ausgewählten Farbe hinzugefügt werden). Wenn ein Farbwert angegeben wird, müssen Sie ihn in einen der folgenden HBRUSH-Typen konvertieren:
- 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
Wenn dieser Member NULL ist, muss eine Anwendung ihren eigenen Hintergrund zeichnen, wenn sie aufgefordert wird, in ihrem Clientbereich zu zeichnen. Um zu bestimmen, ob der Hintergrund gezeichnet werden muss, kann eine Anwendung entweder die WM_ERASEBKGND-Nachricht verarbeiten oder den fErase-Member der PAINTSTRUCT-Struktur testen, die von der BeginPaint-Funktion ausgefüllt wird.
lpszMenuName
Typ: LPCTSTR
Ein Zeiger auf eine NULL-endende Zeichenfolge, die den Ressourcennamen des Klassenmenüs angibt, wie der Name in der Ressourcendatei angezeigt wird. Wenn Sie eine ganze Zahl verwenden, um das Menü zu identifizieren, verwenden Sie das MAKEINTRESOURCE-Makro . Wenn dieser Member NULL ist, haben Fenster, die zu dieser Klasse gehören, kein Standardmenü.
lpszClassName
Typ: LPCTSTR
Ein Zeiger auf eine NULL-endende Zeichenfolge oder ist ein Atom. Wenn es sich bei diesem Parameter um ein Atom handelt, muss es sich um ein Klassenatom handeln, das durch einen vorherigen Aufruf der RegisterClass - oder RegisterClassEx-Funktion erstellt wurde. Das Atom muss sich in der niedrigen Reihenfolge des Worts lpszClassName befinden. Das Wort mit hoher Ordnung muss 0 (null) sein.
Wenn lpszClassName eine Zeichenfolge ist, wird der Name der Fensterklasse angegeben. Der Klassenname kann ein beliebiger Name sein, der bei RegisterClass oder RegisterClassEx oder einem der vordefinierten Steuerelementklassennamen registriert ist.
Die maximale Länge für lpszClassName beträgt 256. Wenn lpszClassName größer als die maximale Länge ist, schlägt die RegisterClassEx-Funktion fehl.
hIconSm
Typ: HICON
Ein Handle zu einem kleinen Symbol, das der Fensterklasse zugeordnet ist. Wenn dieser Member NULL ist, durchsucht das System die vom hIcon-Member angegebene Symbolressource nach einem Symbol der entsprechenden Größe, das als kleines Symbol verwendet werden soll.
Hinweise
Hinweis
Der winuser.h-Header definiert WNDCLASSEX als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Kopfzeile | winuser.h (windows.h einschließen) |
Siehe auch
Konzept
Referenz