Partager via


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.

Note Si IContextMenu3 n’est pas implémenté, il n’y a aucune garantie que IContextMenu2 sera appelé à sa place. Dans certains cas, l’absence de IContextMenu3 est déterminée, puis le processus est arrêté.
 

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)