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_TOP、 MPPF_LEFT和 MPPF_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 或更高版本) |