POPUPMENUITEM 结构
包含有关打开菜单或子菜单的菜单资源中的菜单项的信息。 此处提供的结构定义仅用于说明;它不存在于任何标准头文件中。
语法
typedef struct {
DWORD type;
DWORD state;
DWORD id;
WORD resInfo;
szOrOrd menuText;
} POPUPMENUITEM;
成员
-
type
-
类型:DWORD
-
描述菜单项。 此成员可以具有的某些值包括以下列表中所示的值。
除了显示的值外,此成员还可以是与 MENUITEMINFO 结构的 fType 成员一起列出的类型值的组合。 类型值以 MFT_ 开头。 若要使用这些预定义MFT_* 类型值,请在 .rc 文件中包含以下语句:
#include "winuser.h"
值 含义 - MF_END
- 0x80
菜单项是菜单上的最后一个;标志由系统在内部使用。 - MF_POPUP
- 0x01
菜单项将打开一个菜单或一个子菜单;标志由系统在内部使用。 -
State
-
类型:DWORD
-
描述菜单项。 此成员可以是与 MENUITEMINFO 结构的 dwState 成员一起列出的状态值的组合。 状态值以 MFS_ 开头。 若要使用这些预定义MFS_* 状态值,请在 .rc 文件中包含以下语句:
#include "winuser.h"
-
id
-
类型:DWORD
-
标识在 WM_COMMAND 消息中传递的菜单项的数值表达式。
-
resInfo
-
类型: WORD
-
一组指定菜单项类型的位标志。 此成员可以是以下值之一。
值 含义 - MFR_END
- 0x80
菜单项是此子菜单或菜单资源中的最后一个;此标志由系统在内部使用。 - MFR_POPUP
- 0x01
菜单项将打开一个菜单或一个子菜单;标志由系统在内部使用。 -
menuText
-
类型: szOrOrd
-
一个以 null 结尾的 Unicode 字符串,其中包含此菜单项的文本。 此字符串的大小没有固定限制。
备注
打开菜单或子菜单的每个菜单项都有一个 POPUPMENUITEM 结构。 通过将类型成员设置为 MF_POPUP 并将 resInfo 成员中的 MFR_POPUP 位设置为 0x0001 来标识此类型的菜单项。 在这种情况下,写入菜单或子菜单 RT_MENU 资源的最终数据是 MENUHELPID 结构。 MENUHELPID 包含一个数值表达式,用于在 WM_HELP 处理期间标识菜单。
此外,每个在 resInfo 成员中设置了 MFR_POPUP 位的 POPUPMENUITEM 结构都将后跟一个 MENUHELPID 结构以及附加数量的 POPUPMENUITEM 结构,该子菜单中的每个菜单项对应一个。 子菜单中的最后一个 POPUPMENUITEM 结构将在 resInfo 成员中设置MFR_END位。 若要查找资源的末尾,请为每个MFR_POPUP查找匹配的MFR_END,以及一个与最外层的菜单项集匹配的附加MFR_END。
通过将 类型 成员设置为 MF_END 来指示最后一个菜单项。 由于可以嵌套子菜单,因此可以有多个级别的 MF_END。 在这些情况下,菜单项是连续的。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |