Freigeben über


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
Das System löscht klassenhintergrundpinsel automatisch, wenn die Registrierung der Klasse mithilfe von UnregisterClassaufgehoben wird. Eine Anwendung sollte diese Pinsel nicht löschen.

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

GetClassInfoEx-

Referenz-

RegisterClassEx-

UnregisterClass-

Fensterklassen