MFC中动态新建菜单命令

      计算机与编程 2007-8-25 10:00:00

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(); //更新菜单。

标签集:TAGS:
回复Comments() 点击Count()
喜欢就顶一下

回复Comments

{commentauthor}
{commentauthor}
{commenttime}
{commentnum}
{commentcontent}
作者:
{commentrecontent}