Compartir a través de


Método IContextMenu3::HandleMenuMsg2 (shobjidl_core.h)

Permite que los objetos de cliente de la interfaz IContextMenu3 controlen los mensajes asociados a los elementos de menú dibujados por el propietario.

Sintaxis

HRESULT HandleMenuMsg2(
  UINT    uMsg,
  WPARAM  wParam,
  LPARAM  lParam,
  LRESULT *plResult
);

Parámetros

uMsg

Tipo: UINT

Mensaje que se va a procesar. En el caso de algunos mensajes, como WM_INITMENUPOPUP, WM_DRAWITEM, WM_MENUCHAR o WM_MEASUREITEM, el objeto de cliente al que se llama puede proporcionar elementos de menú dibujados por el propietario.

wParam

Tipo: WPARAM

Información adicional del mensaje. El valor de este parámetro depende del valor del parámetro uMsg .

lParam

Tipo: LPARAM

Información adicional del mensaje. El valor de este parámetro depende del valor del parámetro uMsg .

plResult

Tipo: LRESULT*

Dirección de un valor LRESULT que devolverá el propietario del menú del mensaje. Este parámetro puede ser NULL.

Valor devuelto

Tipo: HRESULT

Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

IContextMenu3::HandleMenuMsg2 reemplaza generalmente IContextMenu2::HandleMenuMsg y se llama cuando IContextMenu determina que se admite IContextMenu3 y se ha recibido uno de los mensajes admitidos (consulte uMsg). Sin embargo, en algunos casos, se sigue llamando a IContextMenu2::HandleMenuMsg . Los hosts del menú contextual pueden enviar mensajes de menú a través de uno o ambos métodos. Por lo tanto, si una extensión de Shell implementa IContextMenu2::HandleMenuMsg e IContextMenu3::HandleMenuMsg2, debe estar preparado para que los mensajes de menú lleguen a través de cualquiera de los métodos.

Nota Si IContextMenu3 no está implementado, no hay ninguna garantía de que se llame a IContextMenu2 en su lugar. En algunos casos, se determina la ausencia de IContextMenu3 y, a continuación, se detiene el proceso.
 

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional, Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado shobjidl_core.h (include Shobjidl.h)
Archivo DLL Shell32.dll (versión 4.71 o posterior)