SetClassLong

Die SetClassLong -Funktion ersetzt den angegebenen 32-Bit (langen) Wert am angegebenen Offset in der extra-Klasse-Speicher oder die WNDCLASSEX -Struktur für die Klasse, zu der das angegebene Fenster gehört.

(DWORD SetClassLong HWND  hWnd, / / handle des FenstersintnIndex, / / index der Wert ändernLangeDwNewLong / / neuen Wert);
 

Parameter

hWnd
Handle für das Fenster und indirekt, der Klasse, das Fenster gehört.
nIndex
Gibt den 32-Bit-Wert zu ersetzen. Um einen 32-Bit-Wert in der Klasse extra Speicher festzulegen, geben Sie den positive, nullbasierte Byteoffset des Werts festgelegt werden. Gültige Werte liegen im Bereich von 0 (null) durch die Anzahl der Bytes des Arbeitsspeichers der Extraklasse, plus vier; zum Beispiel, wenn Sie 12 oder mehr Bytes des Arbeitsspeichers der extra-Klasse angegeben, wäre ein Wert von 8 ein Index für die dritte 32-Bit-Ganzzahl. Um einen anderen Wert aus der WNDCLASSEX -Struktur festzulegen, geben Sie einen der folgenden Werte:
Wert Aktion
GCL_CBCLSEXTRA Legt die Größe des zugeordneten Klasse zusätzlichen Arbeitsspeicher in Bytes fest. Das Festlegen dieses Werts ändert nicht die Anzahl der bereits reservierten zusätzlichen bytes.
GCL_CBWNDEXTRA Legt die Größe des zugeordneten jedes Fenster in der Klasse extra Fenster Arbeitsspeicher in Bytes fest. Durch Festlegen dieses Wertes wird die Anzahl der bereits reservierten zusätzlichen Bytes nicht geändert. Informationen dazu, wie auf diesen Speicher zugreifen finden Sie unter SetWindowLong.
GCL_HBRBACKGROUND Ersetzt das Handle des Pinsels Hintergrund der Klasse zugeordnet.
GCL_HCURSOR Ersetzt das Handle des Cursors zugeordnete Klasse.
GCL_HICON Ersetzt das Handle des Symbols mit der Klasse verknüpft.
GCL_HMODULE Ersetzt das Handle des Moduls, das die Klasse registriert.
GCL_MENUNAME Ersetzt die Adresse der Namenszeichenfolge im Menü. Die Zeichenfolge identifiziert die Menüressource, die der Klasse zugeordnet.
GCL_STYLE Ersetzt die Formatbits Fenster-Klasse.
GCL_WNDPROC Ersetzt die Adresse der die Fensterprozedur, die der Klasse zugeordnet.

dwNewLong
Gibt den Ersatzwert.

Rückgabewerte

Wenn die Funktion erfolgreich ist, ist der Rückgabewert der vorherige Wert der angegebenen 32-Bit Ganzzahl mit Vorzeichen. Wenn der Wert nicht bereits zuvor festgelegt wurde, ist der Rückgabewert 0 (null).

Wenn die Funktion fehlschlägt, ist der Rückgabewert 0 (null). Rufen Sie Fehlerinformationen verlängert bekommen, GetLastError.

Bemerkungen

Wenn Sie die Funktion SetClassLong und der GCL_WNDPROC-Index verwenden, um die Fensterprozedur zu ersetzen, muss die Fensterprozedur zu den Leitlinien, die in der Beschreibung der Rückruffunktion WindowProc angegeben entsprechen.

Aufrufen von SetClassLong mit dem GCL_WNDPROC Index erstellt eine Unterklasse von Window-Klasse, die alle Windows erstellt anschließend mit der Klasse auswirkt. Eine Anwendung können eine Unterklasse einer Systemklasse, aber sollte nicht die Unterklasse eine Window-Klasse von einem anderen Prozess erstellt.

Reservieren Sie Klasse extra Speicher, indem Sie einen Wert ungleich NULL angeben, in der WNDCLAS -Member der WNDCLASSEX -Struktur verwendet, mit der RegisterClassEx -Funktion.

Verwenden Sie die SetClassLong -Funktion mit Vorsicht. Beispielsweise ist es möglich, die Hintergrundfarbe für eine Klasse mit SetClassLongändern, aber diese Änderung ist nicht sofort alle Fenster gehören zur Klasse repaint.

Windows CE: Der nIndex -Parameter ist ein Byte offset jedoch muss ein Vielfaches von 4 Bytes sein. Nichtlinearen Zugriff wird nicht unterstützt.

Keine der standard GCL_ * Werte im Parameter nIndex , mit einer Ausnahme unterstützt. Wenn das Gerät Sie Targeting sind ein Mauszeiger unterstützt, können Sie den GCL_HCURSOR-Wert im Parameter nIndex.

Hinweis Mauscursor unterstützen das Windows CE-Versionen enthalten die Komponenten Iconcurs und Mcursor, anstatt die Icon und Cursor-Komponenten.

QuickInfo

&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.
Importieren Bibliothek:Verwenden Sie user32.lib.
Unicode:Als Unicode und ANSI-Versionen unter Windows NT implementiert.

Siehe auch

Übersicht über Windows-Klassen, Klasse Fensterfunktionen, GetClassLong, RegisterClassEx, SetWindowLong, WindowProc, WNDCLASSEX