MFC引进了BCG库,
菜单条实际上是一个CMenuBar,菜单项就是一个按钮CMFCToolBarButton
第一种办法:
//菜单栏显示的菜单项
void CMainFrame::OnTest2()
{
CMFCToolBarButton *pButton = m_wndMenuBar.GetMenuItem(0);
pButton->m_strText = _T("瑟瑟发抖");
m_wndMenuBar.AdjustLayout();
}
//弹出的菜单项,使用类向导添加对应菜单ID的ON_UPDATE_COMMAND_UI信息
void CMainFrame::OnUpdateFileNew(CCmdUI *pCmdUI)
{
pCmdUI->SetText(_T("китайский"));
}
第二种办法:
//使用老式的改法
CMenu *mainMenu = CMenu::FromHandle(m_wndMenuBar.GetDefaultMenu());
CMenu *pSubMenu = NULL;
mainMenu->ModifyMenu(0, MF_BYPOSITION | MF_STRING, 0, _T("菜单"));
pSubMenu = mainMenu->GetSubMenu(0);
pSubMenu->ModifyMenu(ID_SUBMENU1, MF_BYCOMMAND | MF_STRING, ID_SUBMENU1, _T("子菜单1"));
pSubMenu->ModifyMenu(ID_SUBMENU2, MF_BYCOMMAND | MF_STRING, ID_SUBMENU2, _T("子菜单2"));
m_wndMenuBar.CreateFromMenu(mainMenu->GetSafeHmenu(), TRUE, TRUE); //刷新menu显示