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 [仅限桌面应用]

另请参阅

引用

MENUHEADER

MENUHELPID

MENUITEMINFO

NORMALMENUITEM

概念性

资源