void CMainFrame::Add_MainPanel () { m_MainButton.SetImage (IDB_RIBBON_MAIN); m_MainButton.SetToolTipText (_T("File")); m_MainButton.SetText (_T("\nf")); m_wndRibbonBar.SetApplicationButton (&m_MainButton, CSize (45, 45)); CMFCRibbonMainPanel* pMainPanel = m_wndRibbonBar.AddMainCategory (_T("File"), IDB_RIBBON_FILE_SMALL, IDB_RIBBON_FILE_LARGE); pMainPanel->Add (new CMFCRibbonButton (ID_FILE_NEW, _T("&New"), 0, 0)); pMainPanel->Add (new CMFCRibbonButton (ID_FILE_OPEN, _T("&Open..."), 1, 1)); pMainPanel->Add (new CMFCRibbonButton (ID_FILE_SAVE, _T("&Save"), 2, 2)); pMainPanel->Add (new CMFCRibbonButton (ID_FILE_SAVE_AS, _T("Save &As..."), 3, 3)); std::auto_ptr<CMFCRibbonButton> apBtnPrint(new CMFCRibbonButton (ID_FILE_PRINT, _T("&Print"), 4, 4)); apBtnPrint->AddSubItem (new CMFCRibbonLabel (_T("Preview and print the document"))); apBtnPrint->AddSubItem (new CMFCRibbonButton (ID_FILE_PRINT, _T("&Print"), 4, 4, TRUE)); apBtnPrint->AddSubItem (new CMFCRibbonButton (ID_FILE_PRINT_DIRECT, _T("&Quick Print"), 6, 6, TRUE)); apBtnPrint->AddSubItem (new CMFCRibbonButton (ID_FILE_PRINT_PREVIEW, _T("Print Pre&view"), 7, 7, TRUE)); apBtnPrint->SetKeys (_T("p"), _T("w")); pMainPanel->Add (apBtnPrint.release()); pMainPanel->AddRecentFilesList (_T("Recent Documents")); pMainPanel->AddToBottom (new CMFCRibbonMainPanelButton (ID_TOOLS_OPTIONS, _T("Opt&ions"), 8)); pMainPanel->AddToBottom (new CMFCRibbonMainPanelButton (ID_APP_EXIT, _T("E&xit"), 9)); }
void CMainFrame::InitMainButton() { // <snippet5> m_MainButton.SetImage(IDB_RIBBON_MAIN); m_MainButton.SetToolTipText(_T("File")); // Set the short cut keyboard text. m_MainButton.SetText(_T("f")); // </snippet5> m_wndRibbonBar.SetApplicationButton(&m_MainButton, CSize(45, 45)); CMFCRibbonMainPanel* pMainPanel = m_wndRibbonBar.AddMainCategory(_T("File"), IDB_RIBBON_FILESMALL, IDB_RIBBON_FILELARGE); pMainPanel->Add(new CMFCRibbonButton(ID_FILE_NEW, _T("&New"), 0, 0)); pMainPanel->Add(new CMFCRibbonButton(ID_FILE_OPEN, _T("&Open..."), 1, 1)); pMainPanel->Add(new CMFCRibbonButton(ID_FILE_SAVE, _T("&Save"), 2, 2)); pMainPanel->Add(new CMFCRibbonButton(ID_FILE_SAVE_AS, _T("Save &As..."), 3, 3)); CMFCRibbonButton* pBtnPrint = new CMFCRibbonButton(ID_FILE_PRINT, _T("&Print"), 4, 4); pBtnPrint->AddSubItem(new CMFCRibbonLabel(_T("Preview and print the document"))); pBtnPrint->AddSubItem(new CMFCRibbonButton(ID_FILE_PRINT_DIRECT, _T("&Quick Print"), 7, 7, TRUE)); pBtnPrint->AddSubItem(new CMFCRibbonButton(ID_FILE_PRINT_PREVIEW, _T("Print Pre&view"), 6, 6, TRUE)); pBtnPrint->SetKeys(_T("p"), _T("w")); pMainPanel->Add(pBtnPrint); pMainPanel->AddSeparator(); pMainPanel->Add(new CMFCRibbonButton(ID_FILE_SEND_MAIL, _T("Sen&d..."), 8, 8)); pMainPanel->Add(new CMFCRibbonButton(ID_FILE_SUMMARYINFO, _T("Summary &Info..."), 9, 9)); pMainPanel->AddSeparator(); pMainPanel->Add(new CMFCRibbonButton(ID_FILE_CLOSE, _T("&Close"), 5, 5)); pMainPanel->AddRecentFilesList(_T("Recent Documents")); pMainPanel->AddToBottom(new CMFCRibbonMainPanelButton(ID_TOOLS_OPTIONS, _T("Opt&ions"), 10)); pMainPanel->AddToBottom(new CMFCRibbonMainPanelButton(ID_APP_EXIT, _T("E&xit"), 11)); }
void CMainFrame::InitializeRibbon() { CString strTemp; strTemp.LoadString(IDS_RIBBON_FILE); // Load panel images: m_PanelImages.SetImageSize(CSize(16, 16)); m_PanelImages.Load(IDB_BUTTONS); // Init main button: m_MainButton.SetImage(IDB_MAIN_AMT); m_MainButton.SetText(_T("\nf")); m_MainButton.SetToolTipText(strTemp); m_wndRibbonBar.SetApplicationButton(&m_MainButton, CSize (45, 45)); CMFCRibbonMainPanel* pMainPanel = m_wndRibbonBar.AddMainCategory(strTemp, IDB_AMT_FILESMALL, IDB_AMT_FILELARGE); strTemp.LoadString(IDS_RIBBON_NEW); pMainPanel->Add(new CMFCRibbonButton(ID_EDIT_REFRESH, _T("Refresh\nr"), 25, 14)); pMainPanel->Add(new CMFCRibbonSeparator(TRUE)); strTemp.LoadString(IDS_RIBBON_PRINT); CMFCRibbonButton* pBtnPrint = new CMFCRibbonButton(ID_FILE_PRINT, strTemp, 6, 6); pBtnPrint->SetKeys(_T("p"), _T("w")); strTemp.LoadString(IDS_RIBBON_PRINT_LABEL); pBtnPrint->AddSubItem(new CMFCRibbonLabel(strTemp)); strTemp.LoadString(IDS_RIBBON_PRINT); pBtnPrint->AddSubItem(new CMFCRibbonButton(ID_FILE_PRINT, strTemp, 7, 7, TRUE)); strTemp.LoadString(IDS_RIBBON_PRINT_SETUP); pBtnPrint->AddSubItem(new CMFCRibbonButton(ID_FILE_PRINT_SETUP, strTemp, 11, 11, TRUE)); pMainPanel->Add(pBtnPrint); pMainPanel->Add(new CMFCRibbonSeparator(TRUE)); pMainPanel->Add(new CMFCRibbonButton(ID_FILE_LOGOUT, _T("&Logout"), 0, 0, TRUE)); //pMainPanel->Add(new CMFCRibbonSeparator(TRUE)); //strTemp.LoadString(IDS_RIBBON_CLOSE); //pMainPanel->Add(new CMFCRibbonButton(ID_FILE_CLOSE, strTemp, 9, 9)); strTemp.LoadString(IDS_RIBBON_RECENT_DOCS); pMainPanel->AddRecentFilesList(strTemp); strTemp.LoadString(IDS_RIBBON_EXIT); pMainPanel->AddToBottom(new CMFCRibbonMainPanelButton(ID_APP_EXIT, strTemp, 15)); // Add "Home" category with "Clipboard" panel: strTemp.LoadString(IDS_RIBBON_HOME); CMFCRibbonCategory* pCategoryHome = m_wndRibbonBar.AddCategory(strTemp, IDB_AMT_WRITESMALL, IDB_AMT_WRITELARGE); // Create "Clipboard" panel: strTemp.LoadString(IDS_RIBBON_CLIPBOARD); CMFCRibbonPanel* pPanelClipboard = pCategoryHome->AddPanel(strTemp, m_PanelImages.ExtractIcon(27)); strTemp.LoadString(IDS_RIBBON_PASTE); CMFCRibbonButton* pBtnPaste = new CMFCRibbonButton(ID_EDIT_PASTE, strTemp, 0, 0); pPanelClipboard->Add(pBtnPaste); strTemp.LoadString(IDS_RIBBON_CUT); pPanelClipboard->Add(new CMFCRibbonButton(ID_EDIT_CUT, strTemp, 1)); strTemp.LoadString(IDS_RIBBON_COPY); pPanelClipboard->Add(new CMFCRibbonButton(ID_EDIT_COPY, strTemp, 2)); // Create "Filter" panel: CMFCRibbonPanel* pPanelFilter = pCategoryHome->AddPanel(_T("Filter")); pPanelFilter->Add(new CMFCRibbonButton(ID_EDIT_SHOW_ALL, _T("Show All\ns"), 16)); pPanelFilter->AddSeparator(); pPanelFilter->Add(new CMFCRibbonCheckBox(ID_EDIT_SHOW_ORPHANS, _T("Show Orphans\no"))); pPanelFilter->Add(new CMFCRibbonCheckBox(ID_EDIT_SHOW_NOT_MATCHING, _T("Show Differences\nd"))); pPanelFilter->Add(new CMFCRibbonCheckBox(ID_EDIT_SHOW_MATCHING, _T("Show Matching\nm"))); CMFCRibbonPanel* pPanelSelection = pCategoryHome->AddPanel(_T("Selection")); strTemp.LoadString(IDS_RIBBON_SELECTALL); pPanelSelection->Add(new CMFCRibbonButton(ID_EDIT_SELECT_ALL, strTemp, 21)); pPanelSelection->Add(new CMFCRibbonButton(ID_EDIT_CLEARALL, _T("Clear All\na"), 22)); pPanelSelection->Add(new CMFCRibbonButton(ID_EDIT_EXPANDALL, _T("Expand All"), 23)); pPanelSelection->AddSeparator(); pPanelSelection->Add(new CMFCRibbonButton(ID_EDIT_ADDTOREP, _T("Migrate\nm"), 14)); CMFCRibbonPanel* pPanelView = pCategoryHome->AddPanel(_T("View")); pPanelView->Add(new CMFCRibbonCheckBox(ID_VIEW_CRLF, _T("CR/LF"))); pPanelView->Add(new CMFCRibbonCheckBox(ID_VIEW_WHITESPACE, _T("Whitespace"))); CMFCRibbonPanel* pPanelDiferences = pCategoryHome->AddPanel(_T("Differences")); pPanelDiferences->Add(new CMFCRibbonButton(ID_DIFFERENCES_PREVIOUS, _T("Previous\nn"))); pPanelDiferences->Add(new CMFCRibbonButton(ID_DIFFERENCES_NEXT, _T("Next\np"))); CMFCRibbonPanel* pPanelDependees = pCategoryHome->AddPanel(_T("Dependees")); pPanelDependees->Add(new CMFCRibbonButton(ID_DEPENDEES_FINDSERVICES, _T("Find Services"))); pPanelDependees->Add(new CMFCRibbonButton(ID_DEPENDEES_CALCULATEDEPENDENCIES, _T("Recalculate Cache"))); pPanelDependees->Add(new CMFCRibbonButton(ID_DEPENDEES_CALCULATECROSSREFERENCE, _T("Calculate Crossreference"))); pPanelDependees->AddSeparator(); pPanelDependees->Add(new CMFCRibbonButton(ID_DEPENDEES_SYNCFROMSELECTION, _T("Sync From Selection"))); pPanelDependees->Add(new CMFCRibbonButton(ID_DEPENDEES_SYNCTOSELECTION, _T("Sync To Selection"))); pPanelDependees->Add(new CMFCRibbonButton(ID_DEPENDEES_COPYCROSSREFERENCE, _T("Copy Crossreference"))); CMFCRibbonPanel* pPanelAdvanced = pCategoryHome->AddPanel(_T("Advanced")); pPanelAdvanced->Add(new CMFCRibbonCheckBox(ID_EDIT_MODULE_CHECKSUM, _T("Module Checksums\nu"))); // Add elements to the right side of tabs: strTemp.LoadString(IDS_RIBBON_STYLE); CMFCRibbonButton* pVisualStyleButton = new CMFCRibbonButton(-1, strTemp, -1, -1); pVisualStyleButton->SetMenu(IDR_THEME_MENU, FALSE /* No default command */, TRUE /* Right align */); strTemp.LoadString(IDS_RIBBON_STYLE_TIP); pVisualStyleButton->SetToolTipText(strTemp); strTemp.LoadString(IDS_RIBBON_STYLE_DESC); pVisualStyleButton->SetDescription(strTemp); m_wndRibbonBar.AddToTabs(pVisualStyleButton); // Add quick access toolbar commands: CList<UINT, UINT> lstQATCmds; lstQATCmds.AddTail(ID_EDIT_REFRESH); lstQATCmds.AddTail(ID_FILE_LOGOUT); lstQATCmds.AddTail(ID_FILE_PRINT); m_wndRibbonBar.SetQuickAccessCommands(lstQATCmds); m_wndRibbonBar.AddToTabs(new CMFCRibbonButton(ID_APP_ABOUT, _T("\na"), m_PanelImages.ExtractIcon(0))); }
void CTinyCADMainFrame::InitializeRibbon() { BOOL bNameValid; CString strTemp; bNameValid = strTemp.LoadString(IDS_RIBBON_FILE); ASSERT(bNameValid); // 加载面板图像: m_PanelImages.SetImageSize(CSize(16, 16)); m_PanelImages.Load(IDB_BUTTONS); // 初始主按钮: m_MainButton.SetImage(IDB_MAIN); m_MainButton.SetText(_T("\nf")); m_MainButton.SetToolTipText(strTemp); m_wndRibbonBar.SetApplicationButton(&m_MainButton, CSize (45, 45)); CMFCRibbonMainPanel* pMainPanel = m_wndRibbonBar.AddMainCategory(strTemp, IDB_FILESMALL, IDB_FILELARGE); bNameValid = strTemp.LoadString(IDS_RIBBON_NEW); ASSERT(bNameValid); pMainPanel->Add(new CMFCRibbonButton(ID_FILE_NEW, strTemp, 0, 0)); bNameValid = strTemp.LoadString(IDS_RIBBON_OPEN); ASSERT(bNameValid); pMainPanel->Add(new CMFCRibbonButton(ID_FILE_OPEN, strTemp, 1, 1)); bNameValid = strTemp.LoadString(IDS_RIBBON_SAVE); ASSERT(bNameValid); pMainPanel->Add(new CMFCRibbonButton(ID_FILE_SAVE, strTemp, 2, 2)); bNameValid = strTemp.LoadString(IDS_RIBBON_SAVEAS); ASSERT(bNameValid); pMainPanel->Add(new CMFCRibbonButton(ID_FILE_SAVE_AS, strTemp, 3, 3)); bNameValid = strTemp.LoadString(IDS_RIBBON_PRINT); ASSERT(bNameValid); CMFCRibbonButton* pBtnPrint = new CMFCRibbonButton(ID_FILE_PRINT, strTemp, 6, 6); pBtnPrint->SetKeys(_T("p"), _T("w")); bNameValid = strTemp.LoadString(IDS_RIBBON_PRINT_LABEL); ASSERT(bNameValid); pBtnPrint->AddSubItem(new CMFCRibbonLabel(strTemp)); bNameValid = strTemp.LoadString(IDS_RIBBON_PRINT_QUICK); ASSERT(bNameValid); pBtnPrint->AddSubItem(new CMFCRibbonButton(ID_FILE_PRINT_DIRECT, strTemp, 7, 7, TRUE)); bNameValid = strTemp.LoadString(IDS_RIBBON_PRINT_PREVIEW); ASSERT(bNameValid); pBtnPrint->AddSubItem(new CMFCRibbonButton(ID_FILE_PRINT_PREVIEW, strTemp, 8, 8, TRUE)); bNameValid = strTemp.LoadString(IDS_RIBBON_PRINT_SETUP); ASSERT(bNameValid); pBtnPrint->AddSubItem(new CMFCRibbonButton(ID_FILE_PRINT_SETUP, strTemp, 11, 11, TRUE)); pMainPanel->Add(pBtnPrint); pMainPanel->Add(new CMFCRibbonSeparator(TRUE)); bNameValid = strTemp.LoadString(IDS_RIBBON_CLOSE); ASSERT(bNameValid); pMainPanel->Add(new CMFCRibbonButton(ID_FILE_CLOSE, strTemp, 9, 9)); bNameValid = strTemp.LoadString(IDS_RIBBON_RECENT_DOCS); ASSERT(bNameValid); pMainPanel->AddRecentFilesList(strTemp); bNameValid = strTemp.LoadString(IDS_RIBBON_EXIT); ASSERT(bNameValid); pMainPanel->AddToBottom(new CMFCRibbonMainPanelButton(ID_APP_EXIT, strTemp, 15)); // 为“剪贴板”面板添加“主”类别: bNameValid = strTemp.LoadString(IDS_RIBBON_HOME); ASSERT(bNameValid); CMFCRibbonCategory* pCategoryHome = m_wndRibbonBar.AddCategory(strTemp, IDB_WRITESMALL, IDB_WRITELARGE); // 创建“剪贴板”面板: bNameValid = strTemp.LoadString(IDS_RIBBON_CLIPBOARD); ASSERT(bNameValid); CMFCRibbonPanel* pPanelClipboard = pCategoryHome->AddPanel(strTemp, m_PanelImages.ExtractIcon(27)); bNameValid = strTemp.LoadString(IDS_RIBBON_PASTE); ASSERT(bNameValid); CMFCRibbonButton* pBtnPaste = new CMFCRibbonButton(ID_EDIT_PASTE, strTemp, 0, 0); pPanelClipboard->Add(pBtnPaste); bNameValid = strTemp.LoadString(IDS_RIBBON_CUT); ASSERT(bNameValid); pPanelClipboard->Add(new CMFCRibbonButton(ID_EDIT_CUT, strTemp, 1)); bNameValid = strTemp.LoadString(IDS_RIBBON_COPY); ASSERT(bNameValid); pPanelClipboard->Add(new CMFCRibbonButton(ID_EDIT_COPY, strTemp, 2)); bNameValid = strTemp.LoadString(IDS_RIBBON_SELECTALL); ASSERT(bNameValid); pPanelClipboard->Add(new CMFCRibbonButton(ID_EDIT_SELECT_ALL, strTemp, -1)); bNameValid = strTemp.LoadString(IDS_RIBBON_INSERT_OBJECT); ASSERT(bNameValid); pPanelClipboard->Add(new CMFCRibbonButton(ID_OLE_INSERT_NEW, strTemp, -1)); // 创建和添加“视图”面板: bNameValid = strTemp.LoadString(IDS_RIBBON_VIEW); ASSERT(bNameValid); CMFCRibbonPanel* pPanelView = pCategoryHome->AddPanel(strTemp, m_PanelImages.ExtractIcon (7)); bNameValid = strTemp.LoadString(IDS_RIBBON_STATUSBAR); ASSERT(bNameValid); CMFCRibbonButton* pBtnStatusBar = new CMFCRibbonCheckBox(ID_VIEW_STATUS_BAR, strTemp); pPanelView->Add(pBtnStatusBar); // 创建和添加“窗口”面板: bNameValid = strTemp.LoadString(IDS_RIBBON_WINDOW); ASSERT(bNameValid); CMFCRibbonPanel* pPanelWindow = pCategoryHome->AddPanel(strTemp, m_PanelImages.ExtractIcon (7)); bNameValid = strTemp.LoadString(IDS_RIBBON_WINDOWS); ASSERT(bNameValid); CMFCRibbonButton* pBtnWindows = new CMFCRibbonButton(ID_WINDOW_MANAGER, strTemp, -1, 1); pBtnWindows->SetMenu(IDR_WINDOWS_MENU, TRUE); pPanelWindow->Add(pBtnWindows); // 将元素添加到选项卡右侧: bNameValid = strTemp.LoadString(IDS_RIBBON_STYLE); ASSERT(bNameValid); CMFCRibbonButton* pVisualStyleButton = new CMFCRibbonButton(-1, strTemp, -1, -1); pVisualStyleButton->SetMenu(IDR_THEME_MENU, FALSE /* 无默认命令*/, TRUE /* 右对齐*/); bNameValid = strTemp.LoadString(IDS_RIBBON_STYLE_TIP); ASSERT(bNameValid); pVisualStyleButton->SetToolTipText(strTemp); bNameValid = strTemp.LoadString(IDS_RIBBON_STYLE_DESC); ASSERT(bNameValid); pVisualStyleButton->SetDescription(strTemp); m_wndRibbonBar.AddToTabs(pVisualStyleButton); // 添加快速访问工具栏命令: CList<UINT, UINT> lstQATCmds; lstQATCmds.AddTail(ID_FILE_NEW); lstQATCmds.AddTail(ID_FILE_OPEN); lstQATCmds.AddTail(ID_FILE_SAVE); lstQATCmds.AddTail(ID_FILE_PRINT_DIRECT); m_wndRibbonBar.SetQuickAccessCommands(lstQATCmds); CMFCRibbonButton* pHelpButton = new CMFCRibbonButton(ID_HELP_FINDER, _T("\na"), m_PanelImages.ExtractIcon (0)); pHelpButton->SetMenu(IDR_HELP_MENU, ID_HELP_FINDER, TRUE /* 右对齐*/); m_wndRibbonBar.AddToTabs(pHelpButton); }
void CMyRibbonBar::InitializeRibbon() { BOOL bNameValid; CString strTemp; bNameValid = strTemp.LoadString(IDS_RIBBON_FILE); ASSERT(bNameValid); // Load panel images: m_PanelImages.SetImageSize(CSize(16, 16)); m_PanelImages.Load(IDB_BUTTONS); // Init main button: m_MainButton.SetImage(IDB_MAIN); m_MainButton.SetText(_T("\nf")); m_MainButton.SetToolTipText(strTemp); SetApplicationButton(&m_MainButton, CSize (45, 45)); CMFCRibbonMainPanel* pMainPanel = AddMainCategory(strTemp, IDB_FILESMALL, IDB_FILELARGE); bNameValid = strTemp.LoadString(IDS_RIBBON_NEW); ASSERT(bNameValid); pMainPanel->Add(new CMFCRibbonButton(WM_OPEN_TEST_FILE, _T("Open.."), 1, 1)); pMainPanel->Add(new CMFCRibbonButton(WM_OPEN_TEST_SUITE, _T("Open Suite.."), 1, 1)); bNameValid = strTemp.LoadString(IDS_RIBBON_SAVEAS); ASSERT(bNameValid); pMainPanel->Add(new CMFCRibbonButton(WM_EXPORT_IMAGE, strTemp, 3, 3)); bNameValid = strTemp.LoadString(IDS_RIBBON_PRINT); ASSERT(bNameValid); CMFCRibbonButton* pBtnPrint = new CMFCRibbonButton(ID_FILE_PRINT, strTemp, 6, 6); pBtnPrint->SetKeys(_T("p"), _T("w")); bNameValid = strTemp.LoadString(IDS_RIBBON_PRINT_LABEL); ASSERT(bNameValid); pBtnPrint->AddSubItem(new CMFCRibbonLabel(strTemp)); bNameValid = strTemp.LoadString(IDS_RIBBON_PRINT_QUICK); ASSERT(bNameValid); pBtnPrint->AddSubItem(new CMFCRibbonButton(ID_FILE_PRINT_DIRECT, strTemp, 7, 7, TRUE)); bNameValid = strTemp.LoadString(IDS_RIBBON_PRINT_PREVIEW); ASSERT(bNameValid); pBtnPrint->AddSubItem(new CMFCRibbonButton(ID_FILE_PRINT_PREVIEW, strTemp, 8, 8, TRUE)); bNameValid = strTemp.LoadString(IDS_RIBBON_PRINT_SETUP); ASSERT(bNameValid); pMainPanel->Add(new CMFCRibbonSeparator(TRUE)); pBtnPrint->AddSubItem(new CMFCRibbonButton(ID_FILE_PRINT_SETUP, strTemp, 11, 11, TRUE)); pMainPanel->Add(pBtnPrint); pMainPanel->Add(new CMFCRibbonSeparator(TRUE)); /* bNameValid = strTemp.LoadString(IDS_RIBBON_CLOSE); ASSERT(bNameValid); pMainPanel->Add(new CMFCRibbonButton(ID_FILE_CLOSE, strTemp, 9, 9));*/ bNameValid = strTemp.LoadString(IDS_RIBBON_RECENT_DOCS); ASSERT(bNameValid); pMainPanel->AddRecentFilesList(strTemp); bNameValid = strTemp.LoadString(IDS_RIBBON_EXIT); ASSERT(bNameValid); pMainPanel->AddToBottom(new CMFCRibbonMainPanelButton(ID_APP_EXIT, strTemp, 15)); addTabHome(); addTabAnalyze(); addTabCompare(); // addTabExport(); addTabAddins(); addChartTools(); ShowContextCategories(IDB_CHART); ActivateContextCategory(IDB_CHART); addTabSupport(); // Add elements to the right side of tabs: bNameValid = strTemp.LoadString(IDS_RIBBON_STYLE); ASSERT(bNameValid); CMFCRibbonButton* pVisualStyleButton = new CMFCRibbonButton(-1, strTemp, -1, -1); pVisualStyleButton->SetMenu(IDR_THEME_MENU, FALSE /* No default command */, TRUE /* Right align */); bNameValid = strTemp.LoadString(IDS_RIBBON_STYLE_TIP); ASSERT(bNameValid); pVisualStyleButton->SetToolTipText(strTemp); bNameValid = strTemp.LoadString(IDS_RIBBON_STYLE_DESC); ASSERT(bNameValid); pVisualStyleButton->SetDescription(strTemp); AddToTabs(pVisualStyleButton); // Add quick access toolbar commands: CList<UINT, UINT> lstQATCmds; lstQATCmds.AddTail(ID_FILE_NEW); lstQATCmds.AddTail(ID_FILE_OPEN); lstQATCmds.AddTail(ID_FILE_SAVE); lstQATCmds.AddTail(ID_FILE_PRINT_DIRECT); SetQuickAccessCommands(lstQATCmds); AddToTabs(new CMFCRibbonButton(ID_APP_ABOUT, _T("\na"), m_PanelImages.ExtractIcon (0))); }
void CMainFrame::InitializeRibbon() { BOOL bNameValid; CString strTemp; bNameValid = strTemp.LoadString(IDS_RIBBON_FILE); ASSERT(bNameValid); // 창 이미지를 로드합니다. m_PanelImages.SetImageSize(CSize(16, 16)); m_PanelImages.Load(IDB_BUTTONS); // 초기화 주 단추입니다. m_MainButton.SetImage(IDB_MAIN); m_MainButton.SetText(_T("\nf")); m_MainButton.SetToolTipText(strTemp); m_wndRibbonBar.SetApplicationButton(&m_MainButton, CSize (45, 45)); CMFCRibbonMainPanel* pMainPanel = m_wndRibbonBar.AddMainCategory(strTemp, IDB_FILESMALL, IDB_FILELARGE); bNameValid = strTemp.LoadString(IDS_RIBBON_NEW); ASSERT(bNameValid); pMainPanel->Add(new CMFCRibbonButton(ID_FILE_NEW, strTemp, 0, 0)); bNameValid = strTemp.LoadString(IDS_RIBBON_OPEN); ASSERT(bNameValid); pMainPanel->Add(new CMFCRibbonButton(ID_FILE_OPEN, strTemp, 1, 1)); bNameValid = strTemp.LoadString(IDS_RIBBON_SAVE); ASSERT(bNameValid); pMainPanel->Add(new CMFCRibbonButton(ID_FILE_SAVE, strTemp, 2, 2)); bNameValid = strTemp.LoadString(IDS_RIBBON_SAVEAS); ASSERT(bNameValid); pMainPanel->Add(new CMFCRibbonButton(ID_FILE_SAVE_AS, strTemp, 3, 3)); bNameValid = strTemp.LoadString(IDS_RIBBON_PRINT); ASSERT(bNameValid); CMFCRibbonButton* pBtnPrint = new CMFCRibbonButton(ID_FILE_PRINT, strTemp, 6, 6); pBtnPrint->SetKeys(_T("p"), _T("w")); bNameValid = strTemp.LoadString(IDS_RIBBON_PRINT_LABEL); ASSERT(bNameValid); pBtnPrint->AddSubItem(new CMFCRibbonLabel(strTemp)); bNameValid = strTemp.LoadString(IDS_RIBBON_PRINT_QUICK); ASSERT(bNameValid); pBtnPrint->AddSubItem(new CMFCRibbonButton(ID_FILE_PRINT_DIRECT, strTemp, 7, 7, TRUE)); bNameValid = strTemp.LoadString(IDS_RIBBON_PRINT_PREVIEW); ASSERT(bNameValid); pBtnPrint->AddSubItem(new CMFCRibbonButton(ID_FILE_PRINT_PREVIEW, strTemp, 8, 8, TRUE)); bNameValid = strTemp.LoadString(IDS_RIBBON_PRINT_SETUP); ASSERT(bNameValid); pBtnPrint->AddSubItem(new CMFCRibbonButton(ID_FILE_PRINT_SETUP, strTemp, 11, 11, TRUE)); pMainPanel->Add(pBtnPrint); pMainPanel->Add(new CMFCRibbonSeparator(TRUE)); bNameValid = strTemp.LoadString(IDS_RIBBON_CLOSE); ASSERT(bNameValid); pMainPanel->Add(new CMFCRibbonButton(ID_FILE_CLOSE, strTemp, 9, 9)); bNameValid = strTemp.LoadString(IDS_RIBBON_RECENT_DOCS); ASSERT(bNameValid); pMainPanel->AddRecentFilesList(strTemp); bNameValid = strTemp.LoadString(IDS_RIBBON_EXIT); ASSERT(bNameValid); pMainPanel->AddToBottom(new CMFCRibbonMainPanelButton(ID_APP_EXIT, strTemp, 15)); // "클립보드" 패널을 사용하여 "홈" 범주를 추가합니다. bNameValid = strTemp.LoadString(IDS_RIBBON_HOME); ASSERT(bNameValid); CMFCRibbonCategory* pCategoryHome = m_wndRibbonBar.AddCategory(strTemp, IDB_WRITESMALL, IDB_WRITELARGE); // "클립보드" 패널을 만듭니다. bNameValid = strTemp.LoadString(IDS_RIBBON_CLIPBOARD); ASSERT(bNameValid); CMFCRibbonPanel* pPanelClipboard = pCategoryHome->AddPanel(strTemp, m_PanelImages.ExtractIcon(27)); bNameValid = strTemp.LoadString(IDS_RIBBON_PASTE); ASSERT(bNameValid); CMFCRibbonButton* pBtnPaste = new CMFCRibbonButton(ID_EDIT_PASTE, strTemp, 0, 0); pPanelClipboard->Add(pBtnPaste); bNameValid = strTemp.LoadString(IDS_RIBBON_CUT); ASSERT(bNameValid); pPanelClipboard->Add(new CMFCRibbonButton(ID_EDIT_CUT, strTemp, 1)); bNameValid = strTemp.LoadString(IDS_RIBBON_COPY); ASSERT(bNameValid); pPanelClipboard->Add(new CMFCRibbonButton(ID_EDIT_COPY, strTemp, 2)); bNameValid = strTemp.LoadString(IDS_RIBBON_SELECTALL); ASSERT(bNameValid); pPanelClipboard->Add(new CMFCRibbonButton(ID_EDIT_SELECT_ALL, strTemp, -1)); // "보기" 패널을 만들고 추가합니다. bNameValid = strTemp.LoadString(IDS_RIBBON_VIEW); ASSERT(bNameValid); CMFCRibbonPanel* pPanelView = pCategoryHome->AddPanel(strTemp, m_PanelImages.ExtractIcon (7)); bNameValid = strTemp.LoadString(IDS_RIBBON_STATUSBAR); ASSERT(bNameValid); CMFCRibbonButton* pBtnStatusBar = new CMFCRibbonCheckBox(ID_VIEW_STATUS_BAR, strTemp); pPanelView->Add(pBtnStatusBar); // 탭의 오른쪽에 요소를 추가합니다. bNameValid = strTemp.LoadString(IDS_RIBBON_STYLE); ASSERT(bNameValid); CMFCRibbonButton* pVisualStyleButton = new CMFCRibbonButton(-1, strTemp, -1, -1); pVisualStyleButton->SetMenu(IDR_THEME_MENU, FALSE /* 기본값 없음 명령입니다. */, TRUE /* 오른쪽 맞춤입니다. */); bNameValid = strTemp.LoadString(IDS_RIBBON_STYLE_TIP); ASSERT(bNameValid); pVisualStyleButton->SetToolTipText(strTemp); bNameValid = strTemp.LoadString(IDS_RIBBON_STYLE_DESC); ASSERT(bNameValid); pVisualStyleButton->SetDescription(strTemp); m_wndRibbonBar.AddToTabs(pVisualStyleButton); // 빠른 실행 도구 모음 명령을 추가합니다. CList<UINT, UINT> lstQATCmds; lstQATCmds.AddTail(ID_FILE_NEW); lstQATCmds.AddTail(ID_FILE_OPEN); lstQATCmds.AddTail(ID_FILE_SAVE); lstQATCmds.AddTail(ID_FILE_PRINT_DIRECT); m_wndRibbonBar.SetQuickAccessCommands(lstQATCmds); m_wndRibbonBar.AddToTabs(new CMFCRibbonButton(ID_APP_ABOUT, _T("\na"), m_PanelImages.ExtractIcon (0))); }
void CMainFrame::InitRibbon () { //------------------- // Load panel images: //------------------- m_PanelImages.SetImageSize (CSize (16, 16)); m_PanelImages.Load (IDB_BUTTONS); //------------------ // Init main button: //------------------ m_MainButton.SetImage (IDB_MAIN); m_MainButton.SetText (_T("\nf")); m_MainButton.SetToolTipText (_T("File")); m_wndRibbonBar.SetApplicationButton (&m_MainButton, CSize (45, 45)); m_wndRibbonBar.SetApplicationButton (&m_MainButton, CSize (45, 45)); CMFCRibbonMainPanel* pMainPanel = m_wndRibbonBar.AddMainCategory ( _T("File"), IDB_FILESMALL, IDB_FILELARGE); pMainPanel->Add (new CMFCRibbonButton (ID_FILE_NEW, _T("&New"), 0, 0)); pMainPanel->Add (new CMFCRibbonButton (ID_FILE_OPEN, _T("&Open..."), 1, 1)); pMainPanel->Add (new CMFCRibbonButton (ID_FILE_SAVE, _T("&Save"), 2, 2)); pMainPanel->Add (new CMFCRibbonButton (ID_FILE_SAVE_AS, _T("Save &As..."), 3, 3)); std::auto_ptr<CMFCRibbonButton> apBtnPrint(new CMFCRibbonButton (ID_FILE_PRINT, _T("Print"), 6, 6)); apBtnPrint->SetKeys (_T("p"), _T("w")); apBtnPrint->AddSubItem (new CMFCRibbonLabel (_T("Preview and print the document"))); apBtnPrint->AddSubItem (new CMFCRibbonButton (ID_FILE_PRINT_DIRECT, _T("&Quick Print"), 7, 7, TRUE)); apBtnPrint->AddSubItem (new CMFCRibbonButton (ID_FILE_PRINT_PREVIEW, _T("Print Pre&view"), 8, 8, TRUE)); pMainPanel->Add (apBtnPrint.release()); pMainPanel->Add (new CMFCRibbonSeparator (TRUE)); pMainPanel->Add (new CMFCRibbonButton (ID_FILE_CLOSE, _T("&Close"), 9, 9)); pMainPanel->AddRecentFilesList (_T("Recent Documents")); pMainPanel->AddToBottom (new CMFCRibbonMainPanelButton (ID_APP_EXIT, _T("E&xit"), 15)); //-------------------------------------------- // Add "Home" category with "Clipboard" panel: //-------------------------------------------- CMFCRibbonCategory* pCategory = m_wndRibbonBar.AddCategory ( _T("&Home"), IDB_WRITE, IDB_WRITELARGE); //-------------------------- // Create "Clipboard" panel: //-------------------------- CMFCRibbonPanel* pPanelClipboard = pCategory->AddPanel ( _T("Clipboard\nd"), m_PanelImages.ExtractIcon (27)); CMFCRibbonButton* pBtnPaste = new CMFCRibbonButton (ID_EDIT_PASTE, _T("Paste\nv"), 0, 0); pBtnPaste->SetMenu (IDR_PASTE_MENU, TRUE); pPanelClipboard->Add (pBtnPaste); pPanelClipboard->Add (new CMFCRibbonButton (ID_EDIT_CUT, _T("Cut\nx"), 1)); pPanelClipboard->Add (new CMFCRibbonButton (ID_EDIT_COPY, _T("Copy\nc"), 2)); pPanelClipboard->Add (new CMFCRibbonButton (0, _T("Paint\np"), 3)); //----------------------- // Create "Window" panel: //----------------------- CMFCRibbonPanel* pPanelWindow = pCategory->AddPanel ( _T("Window\nw"), m_PanelImages.ExtractIcon (7)); pPanelWindow->Add (new CMFCRibbonCheckBox (ID_VIEW_WORKSPACE, _T("View 1\n1"))); pPanelWindow->Add (new CMFCRibbonCheckBox (ID_VIEW_WORKSPACE2, _T("View 2\n2"))); pPanelWindow->Add (new CMFCRibbonCheckBox (ID_VIEW_OUTPUT, _T("Output\no"))); pPanelWindow->Add (new CMFCRibbonSeparator); CMFCRibbonButton* pBtnWindows = new CMFCRibbonButton (0, _T("Windows\ni"), -1, 1); pBtnWindows->SetMenu (IDR_WINDOWS_MENU, TRUE); pPanelWindow->Add (pBtnWindows); //----------------------------------- // Add quick access toolbar commands: //----------------------------------- CList<UINT, UINT> lstQATCmds; lstQATCmds.AddTail (ID_FILE_SAVE); lstQATCmds.AddTail (ID_FILE_PRINT_DIRECT); m_wndRibbonBar.SetQuickAccessCommands (lstQATCmds); m_wndRibbonBar.AddToTabs (new CMFCRibbonButton (ID_APP_ABOUT, _T("\na"), m_PanelImages.ExtractIcon (0))); }