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,参考其代码来参加