Fonction SetWindowSubclass (commctrl.h)
Installe ou met à jour un rappel de sous-classe de fenêtre.
Syntaxe
BOOL SetWindowSubclass(
[in] HWND hWnd,
[in] SUBCLASSPROC pfnSubclass,
[in] UINT_PTR uIdSubclass,
[in] DWORD_PTR dwRefData
);
Paramètres
[in] hWnd
Type : HWND
Handle de la fenêtre en cours de sous-classe.
[in] pfnSubclass
Type : SUBCLASSPROC
Pointeur vers une procédure de fenêtre. Ce pointeur et l’ID de sous-classe identifient de manière unique ce rappel de sous-classe. Pour le prototype de fonction de rappel, consultez SUBCLASSPROC.
[in] uIdSubclass
Type : UINT_PTR
ID de sous-classe. Cet ID et la procédure de sous-classe identifient une sous-classe de manière unique. Pour supprimer une sous-classe, transmettez la procédure de sous-classe et cette valeur à la fonction RemoveWindowSubclass . Cette valeur est passée à la procédure de sous-classe dans le paramètre uIdSubclass.
[in] dwRefData
Type : DWORD_PTR
DWORD_PTR de référencer des données. La signification de cette valeur est déterminée par l’application appelante. Cette valeur est passée à la procédure de sous-classe dans le paramètre dwRefData. Un dwRefData différent est associé à chaque combinaison de handle de fenêtre, de procédure de sous-classe et d’uIdSubclass.
Valeur retournée
Type : BOOL
TRUE si le rappel de sous-classe a été correctement installé ; sinon, FALSE.
Remarques
Les rappels de sous-classe sont identifiés par la combinaison de l’adresse de rappel et de l’ID de sous-classe défini par l’appelant. Si l’adresse de rappel et la paire ID n’ont pas encore été installées, cette fonction installe la sous-classe. Si la paire a déjà été installée, cette fonction met simplement à jour les données de référence.
Chaque rappel peut stocker une seule DWORD_PTR de données de référence, qui est passée à la fonction de rappel lorsqu’elle est appelée pour filtrer les messages. Aucun comptage de référence n’est effectué pour le rappel ; il peut appeler à plusieurs reprises SetWindowSubclass pour modifier la valeur de son élément de données de référence.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | commctrl.h |
Bibliothèque | Comctl32.lib |
DLL | Comctl32.dll (version 5.8 ou ultérieure) |
Ensemble d’API | ext-ms-win-shell-comctl32-window-l1-1-0 (introduit dans Windows 10, version 10.0.14393) |