Freigeben über


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
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-

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

BeginPaint-

Konzeptionelle

CreateWindow-

CreateWindowEx-

GetDC-

MAKEINTRESOURCE-

andere Ressourcen

PAINTSTRUCT-

Referenz-

RegisterClass

UnregisterClass-

WM_PAINT

WNDCLASSEX-

Fensterklassen

WindowProc-