多文档 添加菜单栏 工具栏 删除ribbon

    xiaoxiao2021-03-25  95

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

    转载请注明原文地址: https://ju.6miu.com/read-17128.html

    最新回复(0)