SetWindowSubclass-Funktion (commctrl.h)
Installiert oder aktualisiert einen Fensterunterklassenrückruf.
Syntax
BOOL SetWindowSubclass(
[in] HWND hWnd,
[in] SUBCLASSPROC pfnSubclass,
[in] UINT_PTR uIdSubclass,
[in] DWORD_PTR dwRefData
);
Parameter
[in] hWnd
Typ: HWND
Das Handle des Fensters, das unterklassiert wird.
[in] pfnSubclass
Typ: SUBCLASSPROC
Ein Zeiger auf eine Fensterprozedur. Dieser Zeiger und die Unterklassen-ID identifizieren diesen Unterklassenrückruf eindeutig. Den Rückruffunktionsprototyp finden Sie unter SUBCLASSPROC.
[in] uIdSubclass
Typ: UINT_PTR
Die Unterklassen-ID. Diese ID zusammen mit der Unterklassenprozedur identifiziert eindeutig eine Unterklasse. Um eine Unterklasse zu entfernen, übergeben Sie die Unterklassenprozedur und diesen Wert an die RemoveWindowSubclass-Funktion . Dieser Wert wird an die Unterklassenprozedur im uIdSubclass-Parameter übergeben.
[in] dwRefData
Typ: DWORD_PTR
DWORD_PTR , um auf Daten zu verweisen. Die Bedeutung dieses Werts wird von der aufrufenden Anwendung bestimmt. Dieser Wert wird an die Unterklassenprozedur im dwRefData-Parameter übergeben. Jeder Kombination aus Fensterhandle, Unterklassenprozedur und uIdSubclass ist eine andere dwRefData zugeordnet.
Rückgabewert
Typ: BOOL
TRUE , wenn der Rückruf der Unterklasse erfolgreich installiert wurde; andernfalls FALSE.
Hinweise
Rückrufe von Unterklassen werden durch die Kombination der Rückrufadresse und der vom Aufrufer definierten Unterklassen-ID identifiziert. Wenn die Rückrufadresse und das ID-Paar noch nicht installiert wurden, installiert diese Funktion die Unterklasse. Wenn das Paar bereits installiert wurde, aktualisiert diese Funktion nur die Referenzdaten.
Jeder Rückruf kann eine einzelne DWORD_PTR von Verweisdaten speichern, die an die Rückruffunktion übergeben wird, wenn sie aufgerufen wird, um Nachrichten zu filtern. Für den Rückruf wird keine Verweiszählung ausgeführt. Es kann wiederholt SetWindowSubclass aufrufen, um den Wert seines Verweisdatenelements zu ändern.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | commctrl.h |
Bibliothek | Comctl32.lib |
DLL | Comctl32.dll (Version 5.8 oder höher) |
APIs | ext-ms-win-shell-comctl32-window-l1-1-0 (eingeführt in Windows 10, Version 10.0.14393) |