IContextMenu2::HandleMenuMsg 方法 (shobjidl_core.h)

使 IContextMenu 接口的客户端对象能够处理与所有者绘制的菜单项关联的消息。

语法

HRESULT HandleMenuMsg(
  UINT   uMsg,
  WPARAM wParam,
  LPARAM lParam
);

参数

uMsg

类型: UINT

要处理的消息。 对于某些消息(例如WM_INITMENUPOPUP、WM_DRAWITEM、WM_MENUCHAR或WM_MEASUREITEM),所调用的客户端对象可能会提供所有者绘制的菜单项。

wParam

类型:WPARAM

其他消息信息。 此参数的值取决于 uMsg 参数的值。

lParam

类型:LPARAM

其他消息信息。 此参数的值取决于 uMsg 参数的值。

返回值

类型: HRESULT

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

IContextMenu2::HandleMenuMsg 通常替换为 HandleMenuMsg2。 当 IContextMenu 确定 IContextMenu3 受支持并接收 uMsg 参数说明中指定的消息之一时,将调用 HandleMenuMsg2。 但是,在某些情况下,仍会调用 IContextMenu2::HandleMenuMsg

如果需要 IContextMenu2IContextMenu3 ,新上下文菜单的最佳实现是在 HandleMenuMsg2 中实现其所有逻辑,并使其 IContextMenu2::HandleMenuMsg 实现只需委托对 HandleMenuMsg2 的调用,并将 NULL 作为 plResult 参数传递。

注意 如果未实现 IContextMenu3 ,则不能保证将在其位置调用 IContextMenu2 。 在某些情况下,确定缺少 IContextMenu3 ,然后停止进程。
 

要求

   
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 shobjidl_core.h (包括 Shobjidl.h)
DLL Shell32.dll (版本 4.0 或更高版本)

另请参阅

HandleMenuMsg2

IContextMenu2