Shell_MergeMenus 函数 (shlobj_core.h)
[Shell_MergeMenus 可用于“要求”部分中指定的操作系统。 它在后续版本中可能已更改或不可用。]
合并两个菜单。
语法
UINT Shell_MergeMenus(
[in] HMENU hmDst,
[in] HMENU hmSrc,
UINT uInsert,
UINT uIDAdjust,
UINT uIDAdjustMax,
ULONG uFlags
);
参数
[in] hmDst
类型: HMENU
要向其添加 hmSrc 的目标菜单。
[in] hmSrc
类型: HMENU
添加到 hmDst 的源菜单。
uInsert
类型: UINT
hmDst 中的点,在该点之后插入 hmSrc 中的条目。
uIDAdjust
类型: UINT
此数字将添加到每个菜单的 ID 中,以提供调整后的 ID。 设置为 0
不进行调整。
uIDAdjust 的值通常是 hmDst 中的项数。 可以使用 GetMenuItemCount 获取此数字。
uIDAdjustMax
类型: UINT
要添加到菜单的最大调整 ID。 不会添加任何大于此值的调整 ID。 若要允许所有 ID,请将此参数设置为 0xFFFF。
uFlags
类型: ULONG
以下一个或多个标志。
MM_ADDSEPARATOR
在两个菜单中的项之间添加分隔符(如果尚不存在)。 如果要将 hmSrc 中的条目插入 hmDst 中间,则会在 hmSrc 材料上方和下方添加分隔符。
MM_DONTREMOVESEPS
请勿删除两个菜单中的任何现有分隔符。 请注意,这可能会导致一行中出现两个分隔符。
MM_SUBMENUSHAVEIDS
如果子菜单具有应调整的 ID,请设置此标志。
返回值
类型: UINT
返回菜单末尾的下一个打开 ID, (调整后的最大 ID + 1) 。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | shlobj_core.h (包括 Shlobj.h) |
Library | Shell32.lib |
DLL | Shell32.dll (6.0 或更高版本) |
API 集 | ext-ms-win-shell-shell32-l1-2-1 (在 Windows 10 版本 10.0.10240 中引入) |