// 菜单栏创建
HMENU LoadMenuIndirect(
CONST MENUTEMPLATE *lpMenuTemplate
);
typedef struct {
WORD versionNumber;
WORD offset;
} MENUITEMTEMPLATEHEADER, *PMENUITEMTEMPLATEHEADER;
typedef struct {
WORD mtOption;
WORD mtID;
WCHAR mtString[1];
} MENUITEMTEMPLATE, *PMENUITEMTEMPLATE;
const WORD menu_template[] =
{
0, // versionNumber version number; must be zero
0, // offset offset first MENUITEMTEMPLATE structure
MENUITEMTEMPLATE
// 第一个菜单, 结尾需要加 MF_HILITE
MF_POPUP | MF_STRING, L'F', L'i', L'l', L'e', L'(', L'&', L'F', L')', 0,
MF_INSERT | MF_STRING, IDM_OPEN, L'&', L'O', L'p', L'e', L'n', 0,
MF_INSERT | MF_STRING, IDM_SAVE, L'&', L'S', L'a', L'v', L'e', 0,
MF_INSERT | MF_STRING, IDM_SAVE, L'&', L'S', L'a', L'v', L'e', 0,
MF_INSERT | MF_STRING, IDM_SAVE, L'&', L'S', L'a', L'v', L'e', 0,
MF_SEPARATOR, 0, 0,
MF_INSERT | MF_STRING | MF_HILITE, IDM_QUIT, L'終', L'了', L'(', L'&', L'Q', L')', 0,
// 第二个菜单, 结尾需要加上MF_HILITE
MF_POPUP | MF_STRING , L'表', L'示', L'(', L'&', L'V', L')', 0,
MF_INSERT | MF_STRING, IDM_SAVE, L'测', L'试', 0,
MF_SEPARATOR, 0, 0,
MF_INSERT | MF_STRING | MF_HILITE, IDM_FSCREEN, L'全', L'画', L'面', L'表', L'示', 0,
// 开始和结尾都加上MF_HILITE, 标识最后一个菜单
MF_POPUP | MF_STRING | MF_HILITE, L'表', L'示', L'(', L'&', L'V', L')', 0,
MF_INSERT | MF_STRING | MF_HILITE, IDM_FSCREEN, L'全', L'画', L'面', L'表', L'示', 0,
};
HMENU hMenu = ::LoadMenuIndirect(menu_template);