WNDCLASSA-Struktur (winuser.h)
Enthält die Fensterklassenattribute, die von der funktion RegisterClass registriert werden.
Diese Struktur wurde durch die WNDCLASSEX- Struktur ersetzt, die mit der RegisterClassEx--Funktion verwendet wird. Sie können weiterhin WNDCLASS- und RegisterClass- verwenden, wenn Sie das kleine Symbol, das der Fensterklasse zugeordnet ist, nicht festlegen müssen.
Syntax
typedef struct tagWNDCLASSA {
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCSTR lpszMenuName;
LPCSTR lpszClassName;
} WNDCLASSA, *PWNDCLASSA, *NPWNDCLASSA, *LPWNDCLASSA;
Angehörige
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 WNDCLASS- 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 physischen 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-
Der Ressourcenname des Klassenmenüs, 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 RegisterClass-Funktion fehl.
Bemerkungen
Anmerkung
Der winuser.h-Header definiert WNDCLASS 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
andere Ressourcen
Referenz-