Méthode IContextMenu3 ::HandleMenuMsg2 (shobjidl_core.h)
Permet aux objets clients de l’interface IContextMenu3 de gérer les messages associés aux éléments de menu dessinés par le propriétaire.
Syntaxe
HRESULT HandleMenuMsg2(
UINT uMsg,
WPARAM wParam,
LPARAM lParam,
LRESULT *plResult
);
Paramètres
uMsg
Type : UINT
Message à traiter. Dans le cas de certains messages, tels que WM_INITMENUPOPUP, WM_DRAWITEM, WM_MENUCHAR ou WM_MEASUREITEM, l’objet client appelé peut fournir des éléments de menu dessinés par le propriétaire.
wParam
Type : WPARAM
Informations supplémentaires sur les messages. La valeur de ce paramètre dépend de la valeur du paramètre uMsg .
lParam
Type : LPARAM
Informations supplémentaires sur les messages. La valeur de ce paramètre dépend de la valeur du paramètre uMsg .
plResult
Type : LRESULT*
Adresse d’une valeur LRESULT que le propriétaire du menu retournera à partir du message. Ce paramètre peut être NULL.
Valeur retournée
Type : HRESULT
Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.
Remarques
IContextMenu3 ::HandleMenuMsg2 remplace généralement IContextMenu2 ::HandleMenuMsg, et est appelé lorsque IContextMenudétermine que IContextMenu3 est pris en charge et qu’un des messages pris en charge (voir uMsg) a été reçu. Toutefois, dans certains cas, IContextMenu2 ::HandleMenuMsg est toujours appelé. Les hôtes de menu contextuel peuvent distribuer des messages de menu par l’une ou l’autre des méthodes. Par conséquent, si une extension Shell implémente À la fois IContextMenu2 ::HandleMenuMsg et IContextMenu3 ::HandleMenuMsg2, elle doit être préparée pour que les messages de menu arrivent via l’une ou l’autre méthode.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel, Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | shobjidl_core.h (incluez Shobjidl.h) |
DLL | Shell32.dll (version 4.71 ou ultérieure) |