vs2010 菜单修改
我想在主菜单中添加一菜单项,切换中英文,切换菜单添加在MainFrame中,在CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) 最后添加 了如下语句:
SetMenu(NULL);
m_menuMain.LoadMenu(IDR_MAINFRAME);
SetMenu(&m_menuMain);
在语言切换菜单响应函数中添加如下语句:
其中m_pMenuMainFrame 在MainFrm.h 中定义 CMenu m_MenuMainFrame;
int nCurPos = 0;
CMenu* subMenu = m_MenuMainFrame.GetSubMenu(nCurPos);
//文件菜单
m_MenuMainFrame.ModifyMenu(0,MF_BYPOSITION , 0, "fSile");
subMenu->ModifyMenu(ID_FILE_NEW,MF_BYCOMMAND,ID_FILE_NEW, "newfile");
DrawMenuBar(); //刷新菜单显示
这样做此时会出现两个主菜单,上下两层,点击菜单响应函数时,可以修改一个菜单的菜单项.菜单函数响应正常。
如果在app 的InitInstance()中添加如下语句:
AfxGetMainWnd()->SetMenu(NULL); 此时显示一个菜单但,菜单却不能修改了,没有任何响应。
不知什么原因,同样操作在VC6.0下只显示一个菜单,且能修改菜单,vs2010 下却显示两个菜单。
不知如何解决此问题,请大家看看,谢谢。
vc6.0 可以