VS:vs2010
工程类型:mfc 多文档 office office2007
1、去掉ribbon
在CMainFrame::OnCreate中删除
//m_wndRibbonBar.Create(this);//Delete by psq
//m_wndRibbonBar.LoadFromResource(IDR_RIBBON);
2、添加菜单栏
删除ribbon,有时菜单栏就有了,要显示那个菜单栏
在BOOL 工程名::InitInstance()中修改
pDocTemplate = new CMultiDocTemplate(IDR_MAINFRAME,//前边是什么显示什么,但我好想碰到过显示手边LoadFrame的时候,所以我就保持一致
RUNTIME_CLASS(Coffice2007Doc),
RUNTIME_CLASS(CChildFrame), // 自定义 MDI 子框架
RUNTIME_CLASS(Coffice2007View));
if (!pDocTemplate)
return FALSE;
AddDocTemplate(pDocTemplate);
// 创建主 MDI 框架窗口
CMainFrame* pMainFrame = new CMainFrame;
if (!pMainFrame || !pMainFrame->LoadFrame(IDR_MAINFRAME))
{
delete pMainFrame;
return FALSE;
}
如果没有可以在CMainFrame::OnCreate中添加
if (!m_wndMenuBar.Create(this))
{
TRACE0("未能创建菜单栏\n");
return -1; // 未能创建
}
m_wndMenuBar.SetPaneStyle(m_wndMenuBar.GetPaneStyle() | CBRS_SIZE_DYNAMIC | CBRS_TOOLTIPS | CBRS_FLYBY);
// 防止菜单栏在激活时获得焦点
CMFCPopupMenu::SetForceMenuFocus(FALSE);
// 允许用户定义的工具栏操作:和工具栏一其
InitUserToolbars(NULL, uiFirstUserToolBarId, uiLastUserToolBarId);
m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY);
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);//工具栏
EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_wndMenuBar);
DockPane(&m_wndToolBar);//工具栏
3、添加工具栏
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(theApp.m_bHiColorIcons ? IDR_MAINFRAME_256 : IDR_MAINFRAME))
{
TRACE0("未能创建工具栏\n");
return -1; // 未能创建
}
CString strToolBarName;
bNameValid = strToolBarName.LoadString(IDS_TOOLBAR_STANDARD);
ASSERT(bNameValid);
m_wndToolBar.SetWindowText(strToolBarName);
CString strCustomize;
bNameValid = strCustomize.LoadString(IDS_TOOLBAR_CUSTOMIZE);
ASSERT(bNameValid);
m_wndToolBar.EnableCustomizeButton(TRUE, 126, strCustomize);//126是我自己加的
//添加菜单栏和工具栏可新建一个mfc 多文档 标准的mfc,参考其代码来参加
————————————————
版权声明:本文为CSDN博主「woquNOKIA」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/woquNOKIA/article/details/60975883