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 das cbSize-Element, das die Größe der Struktur angibt, und das hIconSm-Element, das ein Handle zu einem kleinen 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;
Angehörige
cbSize
Typ: UINT-
Die Größe dieser Struktur in Byte. Legen Sie dieses Element auf sizeof(WNDCLASSEX)
fest. Stellen Sie sicher, dass Sie dieses Element festlegen, bevor Sie die GetClassInfoEx--Funktion aufrufen.
style
Typ: UINT-
Die Klassenformatvorlagen.The class style(s). Dieses Element kann eine beliebige Kombination der Klassenformatvorlagensein.
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 zusätzlicher Bytes, die nach der Fensterklassenstruktur zugeordnet werden sollen. Das System initialisiert die Bytes auf Null.
cbWndExtra
Typ: int
Die Anzahl zusätzlicher Bytes, die nach der Fensterinstanz zugewiesen werden sollen. Das System initialisiert die Bytes auf Null. Wenn eine Anwendung WNDCLASSEX- verwendet, um ein Dialogfeld zu registrieren, das mithilfe der CLASS-Direktive in der Ressourcendatei erstellt wird, muss dieses Element auf DLGWINDOWEXTRA-festgelegt werden.
hInstance
Typ: HINSTANCE-
Ein Handle für die Instanz, die die Fensterprozedur für die Klasse enthält.
hIcon
Typ: HICON-
Ein Handle zum Klassensymbol. Dieses Element muss ein Handle für eine Symbolressource sein. Wenn dieses Element NULL-ist, stellt das System ein Standardsymbol bereit.
hCursor
Typ: HCURSOR-
Ein Handle für den Klassencursor. Dieses Element muss ein Handle für eine Cursorressource sein. Wenn dieses Element NULL-ist, muss eine Anwendung das Cursor-Shape explizit festlegen, wenn die Maus in das Fenster der Anwendung wechselt.
hbrBackground
Typ: HBRUSH-
Ein Handle zum Klassenhintergrundpinsel. Dieses Element kann ein Handle 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 dieses Element NULL-ist, muss eine Anwendung ihren eigenen Hintergrund zeichnen, wenn sie aufgefordert wird, in ihrem Clientbereich zu zeichnen. Um festzustellen, ob der Hintergrund gezeichnet werden muss, kann eine Anwendung entweder die WM_ERASEBKGND Nachricht verarbeiten oder das fErase Member der PAINTSTRUCT Struktur testen, die von der BeginPaint--Funktion gefüllt ist.
lpszMenuName
Typ: LPCTSTR-
Ein Zeiger auf eine mit Null beendete 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 dieses Element NULL-ist, verfügen Fenster, die zu dieser Klasse gehören, über kein Standardmenü.
lpszClassName
Typ: LPCTSTR-
Ein Zeiger auf eine mit Null beendete Zeichenfolge oder ein Atom. Wenn dieser Parameter ein Atom ist, muss es sich um ein Klassenatom handeln, das durch einen vorherigen Aufruf der RegisterClass- oder RegisterClassEx--Funktion erstellt wurde. Das Atom muss sich im Wort "low-order" von lpszClassName; Das Wort "Hochreihenfolge" muss null sein.
Wenn lpszClassName eine Zeichenfolge ist, gibt sie den Namen der Fensterklasse an. Der Klassenname kann ein beliebiger Name sein, der mit 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 dieses Element NULL-ist, durchsucht das System die vom hIcon Member angegebene Symbolressource nach einem Symbol der entsprechenden Größe, die als kleines Symbol verwendet werden soll.
Bemerkungen
Anmerkung
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 |
---|---|
mindestens unterstützte Client- | Windows 2000 Professional [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows 2000 Server [nur Desktop-Apps] |
Header- | winuser.h (enthalten Windows.h) |
Siehe auch
Konzeptionelle
Referenz-