OleSetMenuDescriptor 函数 (ole2.h)

从容器的框架窗口中安装或删除 OLE 调度代码。

语法

HRESULT OleSetMenuDescriptor(
  [in] HOLEMENU                 holemenu,
  [in] HWND                     hwndFrame,
  [in] HWND                     hwndActiveObject,
  [in] LPOLEINPLACEFRAME        lpFrame,
  [in] LPOLEINPLACEACTIVEOBJECT lpActiveObj
);

参数

[in] holemenu

OleCreateMenuDescriptor 函数返回的复合菜单描述符的句柄。 如果 为 NULL,则取消挂钩调度代码。

[in] hwndFrame

容器框架窗口的句柄,该窗口将安装就地复合菜单。

[in] hwndActiveObject

对象的就地激活窗口的句柄。 OLE 将菜单消息和命令调度到此窗口。

[in] lpFrame

指向容器框架窗口中 的 IOleInPlaceFrame 接口的指针。

[in] lpActiveObj

指向活动就地对象上的 IOleInPlaceActiveObject 接口的指针。

返回值

此函数在成功时返回S_OK。

注解

当对象调用 IOleInPlaceFrame::SetMenu 方法时,容器应调用 OleSetMenuDescriptor 以在 hwndFrame 上安装调度代码,或者通过将 null 作为 holemenu 的值传递给 OleSetMenuDescriptor 来删除调度代码。

如果 lpFramelpActiveObj 参数均为非 NULL,则 OLE 会为应用程序安装上下文相关的帮助 F1 消息筛选器。 否则,应用程序必须提供自己的消息筛选器。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 ole2.h
Library Ole32.lib
DLL Ole32.dll
API 集 Windows 10版本 10.0.15063 中引入的 ext-ms-win-com-ole32-l1-1-5 ()

另请参阅

IOleInPlaceActiveObject

IOleInPlaceFrame::SetMenu

OleCreateMenuDescriptor