Die WNDCLASS Struktur enthält das Fenster Class-Attribute, die von der Funktion RegisterClass registriert sind.
Diese Struktur wurde durch die WNDCLASSEX -Struktur verwendet, mit der RegisterClassEx -Funktion ersetzt. Noch WNDCLASS und RegisterClass können Sie wenn Sie nicht das kleine Symbol zugeordnet die Fensterklasse festlegen.
typedef Struct _WNDCLASS {UINT style;
WNDPROC LpfnWndProc;
Int WNDCLAS;
Int CbWndExtra;
HANDLE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH HbrBackground;
LPCTSTR LpszMenuName;
LPCTSTR LpszClassName;
} WNDCLASS
Wert | Aktion |
---|---|
CS_BYTEALIGNCLIENT | Richtet den Fensterclientbereich auf die Byte-Grenze (in X-Richtung). Diese Formatvorlage wirkt sich auf die Breite des Fensters und die horizontale Position auf dem display. |
CS_BYTEALIGNWINDOW | Richtet ein Fenster an einer Byte-Grenze (in X-Richtung). Diese Formatvorlage wirkt sich auf die Breite des Fensters und die horizontale Position auf dem display. |
CS_CLASSDC | Ordnet einem Gerätekontext durch alle Fenster in der Klasse gemeinsam genutzt werden. Da Fensterklassen Prozess spezifische sind, ist es möglich, dass mehrere Threads einer Anwendung zum Erstellen eines Fensters der gleichen Klasse. Es ist auch möglich, dass die Threads versuchen, gleichzeitig den Gerätekontext verwenden. Wenn dies geschieht, kann das System nur einen Thread für die Zeichnung Operation erfolgreich abgeschlossen. Weitere Informationen finden Sie unter Gerätekontexte. |
CS_DBLCLKS | Sendet doppelklicken Nachrichten an die Fensterprozedur, wenn der Benutzer die Maus doppelklickt, während der Cursor befindet sich innerhalb eines Fensters gehören der Klasse. |
CS_GLOBALCLASS | Ermöglicht es einer Anwendung zum Erstellen eines Fensters der Klasse unabhängig vom Wert des Parameters hInstance an die CreateWindow oder CreateWindowEx -Funktion übergeben. Wenn Sie dieses Format nicht angeben, müssen der hInstance -Parameter an die Funktion CreateWindow (oder CreateWindowEx) übergeben die den hInstance -Parameter der RegisterClass -Funktion übergeben. |
Sie können eine globale Klasse erstellen, indem die Window-Klasse in einer Dynamic Link Library (DLL) erstellen und den Namen der DLL, in der Registrierung unter dem folgenden Schlüssel auflisten: | |
HKEY_LOCAL_MACHINE\Software \Microsoft\Windows NT\ CurrentVersion\Windows\"AppInit_DLLs" |
|
Wenn ein Prozess gestartet wird, lädt das System den angegebenen DLLs im Rahmen des neu gestarteten Prozesses vor dem Aufruf der Einstiegspunktfunktion in diesem Prozess. Die DLL muss registrieren Sie die Klasse während der Initialisierung-Verfahrens und muss die CS_GLOBALCLASS-Formatvorlage angeben. | |
CS_HREDRAW | Zeichnet das gesamte Fenster, wenn eine Bewegung oder Anpassung die Breite des Clientbereichs ändert. |
CS_NOCLOSE | Deaktiviert im Menü Fenster Schließen. |
CS_OWNDC | Weist einen einzigartige Gerätekontext für jedes Fenster in der Klasse. |
CS_PARENTDC | Legt den Ausschneidebereich des untergeordneten Fensters, der das übergeordnete Fenster fest, so dass das Kind auf die Eltern zurückgreifen kann. Ein Fenster mit der CS_PARENTDC-Formatbit erhält einen normalen Gerätekontext von den System-Cache von Gerätekontexten. Es gibt nicht dem Kind der Eltern Gerätekontext oder Kontext Geräteeinstellungen. Angeben von CS_PARENTDC verbessert die Leistung einer Anwendung. Weitere Informationen finden Sie unter Gerätekontexte. |
CS_SAVEBITS | Speichert, als Bitmap, den Teil des Bildschirmausschnitts werden durch ein Fenster verdeckt. Das System verwendet die gespeicherte Bitmap Bild des neu erstellen, wenn das Fenster entfernt wird. Das System zeigt die Bitmap an seiner ursprünglichen Stelle und sendet keine WM_PAINT -Meldungen in Windows durch Fenster verdeckt, wenn der Speicher verwendet die Bitmap nicht verworfen wurde und anderen Bildschirm-Aktionen nicht das gespeicherte Bild widerlegt haben. Dieser Stil eignet sich für kleine Fenster (z. B. Menüs oder Dialogfeldern), die kurz angezeigt und dann entfernt werden, bevor andere Bildschirm-Aktivität stattfindet. Dieser Stil wird die Zeit benötigt, um das Fenster, weil das System zuerst die Bitmap speichern Speicher muss erhöht. |
CS_VREDRAW | Zeichnet das gesamte Fenster, wenn eine Bewegung oder Größe ändert sich die Höhe des Clientbereichs. |
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 automatisch Klasse Hintergrund Pinsel, wenn die Klasse freigegeben wird. Eine Anwendung sollte diese Bürsten, nicht löschen, da eine Klasse von mehreren Instanzen einer Anwendung verwendet werden kann.
Wenn dieser Member NULL ist, muss eine Anwendung einen eigenen Hintergrund zeichnen, wenn es angefordert wird, in seinen Clientbereich zu malen. Um festzustellen, ob der Hintergrund gezeichnet werden muss, eine Anwendung kann entweder verarbeiten die WM_ERASEBKGND-Meldung oder testen das Longitudinal Mitglied der PAINTSTRUCT Struktur gefüllt, indem die BeginPaint Funktion.
Wenn LpszClassName eine Zeichenfolge ist, gibt es der Fensterklassenname.
&Nbsp; Windows NT: Version 3.1 oder höher erforderlich.
Windows:Erfordert Windows 95 oder höher.
Windows CE:Version 1.0 oder höher benötigt.
Header:In winuser.h deklarierten.
Unicode:Als Unicode und ANSI Strukturen definiert.
Window Classes Overview, Window Class Structures, BeginPaint, CreateWindow, CreateWindowEx, GetDC, GlobalAddAtom, MAKEINTRESOURCE, PAINTSTRUCT, RegisterClass, WNDCLASSEX, WindowProc, WM_PAINT