16,472
社区成员
发帖
与我相关
我的任务
分享
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));
CMFCRibbonButtonsGroup* pButtonsGroup1 = new CMFCRibbonButtonsGroup;
pButtonsGroup1->AddButton(new CMFCRibbonButton (ID_VIEW_STATUS_BAR, _T("") ,0));
pButtonsGroup1->AddButton(new CMFCRibbonButton (ID_VIEW_TEMPLATE, _T("") ,1));
pButtonsGroup1->AddButton(new CMFCRibbonButton (ID_VIEW_CONTROLS_LIST, _T("") ,2));
pButtonsGroup1->AddButton(new CMFCRibbonButton (ID_VIEW_CONTROLS_PROPERTY, _T("") ,3));
pButtonsGroup1->AddButton(new CMFCRibbonButton (ID_VIEW_OUTPUT, _T("") ,4));
pButtonsGroup1->AddButton(new CMFCRibbonButton (ID_VIEW_RESET, _T(""), 5));
pPanelView->Add(pButtonsGroup1);
// 创建和添加“操作”面板:
CMFCRibbonPanel* pPanelOperation = pCategoryHome->AddPanel(_T("操作"), m_PanelImages.ExtractIcon (7));
pPanelOperation->Add(new CMFCRibbonButton (ID_OPERATION_DISPLAYDATA, _T("显示数据\nf"), -1, 1));
pPanelOperation->Add(new CMFCRibbonButton (ID_OPERATION_DELETEDATA, _T("删除数据\nd"), -1, 1));
pPanelOperation->Add (new CMFCRibbonSeparator);
// 将元素添加到选项卡右侧:
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);
//右侧帮助元素
bNameValid = strTemp.LoadString(IDS_RIBBON_HELP);
ASSERT(bNameValid);
CMFCRibbonButton* pOnlineHelpButton = new CMFCRibbonButton(ID_ONLINE_HELP, strTemp, -1, -1);
m_wndRibbonBar.AddToTabs(pOnlineHelpButton);
////////////////////////////////////////////////////////////////////////////
//右侧更新元素
bNameValid = strTemp.LoadString(IDS_RIBBON_UPDATA);
ASSERT(bNameValid);
CMFCRibbonButton* pSoftwareUpButton = new CMFCRibbonButton(ID_DATA_UP, strTemp, -1, -1);
m_wndRibbonBar.AddToTabs(pSoftwareUpButton);
////////////////////////////////////////////////////////////////////////////
//右侧注册元素
bNameValid = strTemp.LoadString(IDS_RIBBON_KEY);
ASSERT(bNameValid);
CMFCRibbonButton* pSoftwareKeyButton = new CMFCRibbonButton(ID_SOFT_KEY, strTemp, -1, -1);
m_wndRibbonBar.AddToTabs(pSoftwareKeyButton);
// 添加快速访问工具栏命令:
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)));
}