IMenuPopup::P opup 方法 (shobjidl_core.h)

在指定的屏幕上位置调用快捷菜单。

语法

HRESULT Popup(
  [in] POINTL        *ppt,
  [in] RECTL         *prcExclude,
  [in] MP_POPUPFLAGS dwFlags
);

参数

[in] ppt

类型: POINTL*

指向 POINTL 结构的指针,该结构指定弹出菜单在屏幕坐标中的位置。 弹出菜单相对于此点显示,由 dwFlags 中设置的位置标志确定。

[in] prcExclude

类型: RECTL*

指向 RECTL 结构的指针,该结构指定要在定位菜单时排除的矩形。 在 Windows Vista 中,菜单相对于此区域的对齐方式取决于 dwFlags 中设置的对齐标志。 此参数可以为 NULL 以包含整个屏幕。

[in] dwFlags

类型: MP_POPUPFLAGS

控制弹出菜单显示的以下一个或多个常量。

MPPF_SETFOCUS (0x00000001)

菜单在显示时应具有焦点。

MPPF_INITIALSELECT (0x00000002)

应选择菜单中的第一项。

MPPF_NOANIMATE (0x00000004)

不要对此节目进行动画处理。

MPPF_KEYBOARD (0x00000010)

菜单由键盘激活。

MPPF_REPOSITION (0x00000020)

重新定位显示的条形图。

MPPF_FORCEZORDER (0x00000040)

菜单栏应忽略子菜单位置。

MPPF_FINALSELECT (0x00000080)

应选择菜单中的最后一项。

MPPF_TOP (0x20000000)

ppt 中指定的点上方显示弹出菜单。

MPPF_LEFT (0x40000000)

ppt 中指定的点左侧显示弹出菜单。

MPPF_RIGHT (0x60000000)

ppt 中指定的点右侧显示弹出菜单。

MPPF_BOTTOM (0x80000000)

ppt 中指定的点下方显示弹出菜单。

MPPF_POS_MASK (0xE0000000)

位置值 MPPF_TOPMPPF_LEFTMPPF_RIGHT掩码。

MPPF_ALIGN_LEFT (0x02000000)

默认对齐方式。

MPPF_ALIGN_RIGHT (0x04000000)

弹出菜单应与 prcExclude 指定的排除矩形的右侧对齐。

返回值

类型: HRESULT

如果 对象将弹出菜单实现为无模式菜单,则返回 S_OK 。 否则, 返回 S_FALSE,指示菜单的实现结束。

要求

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