int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
CMenu *pMainMenu=GetMenu();
CMenu *pSubMenu=pMainMenu->GetSubMenu(4);
CString StrOfNewMenuItem("新建菜单项");
pSubMenu->AppendMenu(MF_SEPARATOR);
pSubMenu->AppendMenu(MF_STRING,ID_NEW_MENUITEM,StrOfNewMenuItem);
m_bAutoMenuEnable=FALSE;
PMainMenu->EnableMenuItem(ID_NEW_MENUITEM,MF_BYCOMMAND|MF_ENABLED);
DrawMenuBar();
return 0;
}
动态新建一个菜单命令。
//获取主菜单的指针
CMenu* pSubMenu=pSysMenu->GetSubMenu(1);
//获取一级菜单的指针
CString strMenuItem(_T("新的菜单命令(&N)"));
pSubMenu->AppendMenu(MF_SEPARATOR);
//画一条分隔线
pSubMenu->AppendMenu(MF_STRING,ID_NEW_MENUITEM,strMenuItem);
//创建一个新的菜单命令
m_bAutoMenuEnable=false;
//允许使用ON_UPDATE_COMMAND_UI或ON_COMMAND的菜单命令
pSysMenu->EnableMenuItem(ID_NEW_MENUITEM,MF_BYCOMMAND|MF_ENABLED);
//使添加的菜单处于允许的状态
DrawMenuBar(); //更新菜单。