参考文章:https://blog.csdn.net/li_canhui/article/details/6636101
下面是自己实际操作后的结果。
第一步,加载菜单:
CMenu m_ClearMenu;
m_ClearMenu.LoadMenu(IDR_MENU_FOUR_HEADS_PULL);
第二步,修改菜单的文本:
CString strNormal,strDeep;
CString strHead1,strHead2,strHead3,strHead4,strAllHeads;
CMenu *subMenu = m_ClearMenu.GetSubMenu(0); //获取菜单中的第一个菜单
subMenu->ModifyMenu(0,MF_BYPOSITION,NULL,strNormal); //将字符串赋值给第一个父菜单
subMenu->ModifyMenu(1,MF_BYPOSITION,NULL,strDeep); //将字符串赋值给第二个父菜单
m_ClearMenu.ModifyMenu(ID_POP_PULL_FOUR_HEAD1,MF_BYCOMMAND,ID_POP_PULL_FOUR_HEAD1,strHead1); //将字符串赋值给第一个子菜单
m_ClearMenu.ModifyMenu(ID_POP_PULL_FOUR_HEAD2,MF_BYCOMMAND,ID_POP_PULL_FOUR_HEAD2,strHead2);
m_ClearMenu.ModifyMenu(ID_POP_PULL_FOUR_HEAD3,MF_BYCOMMAND,ID_POP_PULL_FOUR_HEAD3,strHead3);
m_ClearMenu.ModifyMenu(ID_POP_PULL_FOUR_HEAD4,MF_BYCOMMAND,ID_POP_PULL_FOUR_HEAD4,strHead4);
m_ClearMenu.ModifyMenu(ID_POP_PULL_FOUR_HEADS,MF_BYCOMMAND,ID_POP_PULL_FOUR_HEADS,strAllHeads);
//除了上面的父菜单不需要菜单项的ID之外,其他的均是对应的菜单项的ID。
第三步,这里是附加的功能说明,设置其中一项或几项为不可点击状态。
m_ClearMenu.EnableMenuItem(ID_POP_PULL_FOUR_HEAD4, MF_DISABLED);
m_ClearMenu.EnableMenuItem(ID_POP_PULL_FOUR_HEADS, MF_DISABLED);
完毕。