|
@@ -67,8 +67,10 @@ int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
|
|
mdiTabParams.m_bDocumentMenu = TRUE; // 在选项卡区域的右边缘启用文档菜单
|
|
mdiTabParams.m_bDocumentMenu = TRUE; // 在选项卡区域的右边缘启用文档菜单
|
|
EnableMDITabbedGroups(TRUE, mdiTabParams);
|
|
EnableMDITabbedGroups(TRUE, mdiTabParams);
|
|
|
|
|
|
|
|
+#if __RIBBON__
|
|
m_wndRibbonBar.Create(this);
|
|
m_wndRibbonBar.Create(this);
|
|
InitializeRibbon();
|
|
InitializeRibbon();
|
|
|
|
+#endif
|
|
|
|
|
|
if (!m_wndStatusBar.Create(this))
|
|
if (!m_wndStatusBar.Create(this))
|
|
{
|
|
{
|
|
@@ -167,49 +169,65 @@ void CMainFrame::InitializeRibbon()
|
|
m_MainButton.SetText(_T("\nf"));
|
|
m_MainButton.SetText(_T("\nf"));
|
|
m_MainButton.SetToolTipText(strTemp);
|
|
m_MainButton.SetToolTipText(strTemp);
|
|
|
|
|
|
|
|
+ //////////////////////////////////////////////////////////////////////////
|
|
|
|
+ // ribbon主按钮及按钮展开后的页面;
|
|
m_wndRibbonBar.SetApplicationButton(&m_MainButton, CSize (45, 45));
|
|
m_wndRibbonBar.SetApplicationButton(&m_MainButton, CSize (45, 45));
|
|
CMFCRibbonMainPanel* pMainPanel = m_wndRibbonBar.AddMainCategory(strTemp, IDB_FILESMALL, IDB_FILELARGE);
|
|
CMFCRibbonMainPanel* pMainPanel = m_wndRibbonBar.AddMainCategory(strTemp, IDB_FILESMALL, IDB_FILELARGE);
|
|
|
|
|
|
|
|
+ // 新建(&N)按钮
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_NEW);
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_NEW);
|
|
ASSERT(bNameValid);
|
|
ASSERT(bNameValid);
|
|
pMainPanel->Add(new CMFCRibbonButton(ID_FILE_NEW, strTemp, 0, 0));
|
|
pMainPanel->Add(new CMFCRibbonButton(ID_FILE_NEW, strTemp, 0, 0));
|
|
|
|
+ // 打开(&O)按钮;
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_OPEN);
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_OPEN);
|
|
ASSERT(bNameValid);
|
|
ASSERT(bNameValid);
|
|
pMainPanel->Add(new CMFCRibbonButton(ID_FILE_OPEN, strTemp, 1, 1));
|
|
pMainPanel->Add(new CMFCRibbonButton(ID_FILE_OPEN, strTemp, 1, 1));
|
|
|
|
+ // 保存(&S)按钮
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_SAVE);
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_SAVE);
|
|
ASSERT(bNameValid);
|
|
ASSERT(bNameValid);
|
|
pMainPanel->Add(new CMFCRibbonButton(ID_FILE_SAVE, strTemp, 2, 2));
|
|
pMainPanel->Add(new CMFCRibbonButton(ID_FILE_SAVE, strTemp, 2, 2));
|
|
|
|
+ // 另存为(&A)按钮;
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_SAVEAS);
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_SAVEAS);
|
|
ASSERT(bNameValid);
|
|
ASSERT(bNameValid);
|
|
pMainPanel->Add(new CMFCRibbonButton(ID_FILE_SAVE_AS, strTemp, 3, 3));
|
|
pMainPanel->Add(new CMFCRibbonButton(ID_FILE_SAVE_AS, strTemp, 3, 3));
|
|
|
|
|
|
|
|
+ // 打印按钮
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_PRINT);
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_PRINT);
|
|
ASSERT(bNameValid);
|
|
ASSERT(bNameValid);
|
|
CMFCRibbonButton* pBtnPrint = new CMFCRibbonButton(ID_FILE_PRINT, strTemp, 6, 6);
|
|
CMFCRibbonButton* pBtnPrint = new CMFCRibbonButton(ID_FILE_PRINT, strTemp, 6, 6);
|
|
pBtnPrint->SetKeys(_T("p"), _T("w"));
|
|
pBtnPrint->SetKeys(_T("p"), _T("w"));
|
|
|
|
+ // 为打印按钮添加Lable控件
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_PRINT_LABEL);
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_PRINT_LABEL);
|
|
ASSERT(bNameValid);
|
|
ASSERT(bNameValid);
|
|
pBtnPrint->AddSubItem(new CMFCRibbonLabel(strTemp));
|
|
pBtnPrint->AddSubItem(new CMFCRibbonLabel(strTemp));
|
|
|
|
+ // 添加"快速打印(&O)"按钮;
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_PRINT_QUICK);
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_PRINT_QUICK);
|
|
ASSERT(bNameValid);
|
|
ASSERT(bNameValid);
|
|
pBtnPrint->AddSubItem(new CMFCRibbonButton(ID_FILE_PRINT_DIRECT, strTemp, 7, 7, TRUE));
|
|
pBtnPrint->AddSubItem(new CMFCRibbonButton(ID_FILE_PRINT_DIRECT, strTemp, 7, 7, TRUE));
|
|
|
|
+ // 添加"打印预览(&V)"按钮
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_PRINT_PREVIEW);
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_PRINT_PREVIEW);
|
|
ASSERT(bNameValid);
|
|
ASSERT(bNameValid);
|
|
pBtnPrint->AddSubItem(new CMFCRibbonButton(ID_FILE_PRINT_PREVIEW, strTemp, 8, 8, TRUE));
|
|
pBtnPrint->AddSubItem(new CMFCRibbonButton(ID_FILE_PRINT_PREVIEW, strTemp, 8, 8, TRUE));
|
|
|
|
+ // 添加"打印设置(&U)"按钮
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_PRINT_SETUP);
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_PRINT_SETUP);
|
|
ASSERT(bNameValid);
|
|
ASSERT(bNameValid);
|
|
pBtnPrint->AddSubItem(new CMFCRibbonButton(ID_FILE_PRINT_SETUP, strTemp, 11, 11, TRUE));
|
|
pBtnPrint->AddSubItem(new CMFCRibbonButton(ID_FILE_PRINT_SETUP, strTemp, 11, 11, TRUE));
|
|
pMainPanel->Add(pBtnPrint);
|
|
pMainPanel->Add(pBtnPrint);
|
|
|
|
+
|
|
|
|
+ // 分隔符;
|
|
pMainPanel->Add(new CMFCRibbonSeparator(TRUE));
|
|
pMainPanel->Add(new CMFCRibbonSeparator(TRUE));
|
|
|
|
|
|
|
|
+ // 关闭(&C)按钮;
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_CLOSE);
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_CLOSE);
|
|
ASSERT(bNameValid);
|
|
ASSERT(bNameValid);
|
|
pMainPanel->Add(new CMFCRibbonButton(ID_FILE_CLOSE, strTemp, 9, 9));
|
|
pMainPanel->Add(new CMFCRibbonButton(ID_FILE_CLOSE, strTemp, 9, 9));
|
|
|
|
|
|
|
|
+ // 最近使用的文档按钮;
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_RECENT_DOCS);
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_RECENT_DOCS);
|
|
ASSERT(bNameValid);
|
|
ASSERT(bNameValid);
|
|
pMainPanel->AddRecentFilesList(strTemp);
|
|
pMainPanel->AddRecentFilesList(strTemp);
|
|
|
|
|
|
|
|
+ // 退出按钮
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_EXIT);
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_EXIT);
|
|
ASSERT(bNameValid);
|
|
ASSERT(bNameValid);
|
|
pMainPanel->AddToBottom(new CMFCRibbonMainPanelButton(ID_APP_EXIT, strTemp, 15));
|
|
pMainPanel->AddToBottom(new CMFCRibbonMainPanelButton(ID_APP_EXIT, strTemp, 15));
|
|
@@ -223,31 +241,38 @@ void CMainFrame::InitializeRibbon()
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_CLIPBOARD);
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_CLIPBOARD);
|
|
ASSERT(bNameValid);
|
|
ASSERT(bNameValid);
|
|
CMFCRibbonPanel* pPanelClipboard = pCategoryHome->AddPanel(strTemp, m_PanelImages.ExtractIcon(27));
|
|
CMFCRibbonPanel* pPanelClipboard = pCategoryHome->AddPanel(strTemp, m_PanelImages.ExtractIcon(27));
|
|
-
|
|
|
|
|
|
+ // 添加"粘贴\nV"按钮;
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_PASTE);
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_PASTE);
|
|
ASSERT(bNameValid);
|
|
ASSERT(bNameValid);
|
|
CMFCRibbonButton* pBtnPaste = new CMFCRibbonButton(ID_EDIT_PASTE, strTemp, 0, 0);
|
|
CMFCRibbonButton* pBtnPaste = new CMFCRibbonButton(ID_EDIT_PASTE, strTemp, 0, 0);
|
|
pPanelClipboard->Add(pBtnPaste);
|
|
pPanelClipboard->Add(pBtnPaste);
|
|
-
|
|
|
|
|
|
+ // 添加"剪切\nX"按钮;
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_CUT);
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_CUT);
|
|
ASSERT(bNameValid);
|
|
ASSERT(bNameValid);
|
|
pPanelClipboard->Add(new CMFCRibbonButton(ID_EDIT_CUT, strTemp, 1));
|
|
pPanelClipboard->Add(new CMFCRibbonButton(ID_EDIT_CUT, strTemp, 1));
|
|
|
|
+ // 添加"复制\nC"按钮;
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_COPY);
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_COPY);
|
|
ASSERT(bNameValid);
|
|
ASSERT(bNameValid);
|
|
pPanelClipboard->Add(new CMFCRibbonButton(ID_EDIT_COPY, strTemp, 2));
|
|
pPanelClipboard->Add(new CMFCRibbonButton(ID_EDIT_COPY, strTemp, 2));
|
|
|
|
+ // 添加"全选\nA"按钮;
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_SELECTALL);
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_SELECTALL);
|
|
ASSERT(bNameValid);
|
|
ASSERT(bNameValid);
|
|
pPanelClipboard->Add(new CMFCRibbonButton(ID_EDIT_SELECT_ALL, strTemp, -1));
|
|
pPanelClipboard->Add(new CMFCRibbonButton(ID_EDIT_SELECT_ALL, strTemp, -1));
|
|
|
|
|
|
|
|
+ //////////////////////////////////////////////////////////////////////////
|
|
|
|
+ // ribbon主页上的面板;
|
|
// 创建和添加“视图”面板:
|
|
// 创建和添加“视图”面板:
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_VIEW);
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_VIEW);
|
|
ASSERT(bNameValid);
|
|
ASSERT(bNameValid);
|
|
CMFCRibbonPanel* pPanelView = pCategoryHome->AddPanel(strTemp, m_PanelImages.ExtractIcon (7));
|
|
CMFCRibbonPanel* pPanelView = pCategoryHome->AddPanel(strTemp, m_PanelImages.ExtractIcon (7));
|
|
|
|
|
|
|
|
+ // 添加 "状态栏" 复选框;
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_STATUSBAR);
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_STATUSBAR);
|
|
ASSERT(bNameValid);
|
|
ASSERT(bNameValid);
|
|
CMFCRibbonButton* pBtnStatusBar = new CMFCRibbonCheckBox(ID_VIEW_STATUS_BAR, strTemp);
|
|
CMFCRibbonButton* pBtnStatusBar = new CMFCRibbonCheckBox(ID_VIEW_STATUS_BAR, strTemp);
|
|
pPanelView->Add(pBtnStatusBar);
|
|
pPanelView->Add(pBtnStatusBar);
|
|
|
|
+
|
|
|
|
+ // 添加 "标题栏"复选框;
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_CAPTIONBAR);
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_CAPTIONBAR);
|
|
ASSERT(bNameValid);
|
|
ASSERT(bNameValid);
|
|
CMFCRibbonButton* pBtnCaptionBar = new CMFCRibbonCheckBox(ID_VIEW_CAPTION_BAR, strTemp);
|
|
CMFCRibbonButton* pBtnCaptionBar = new CMFCRibbonCheckBox(ID_VIEW_CAPTION_BAR, strTemp);
|
|
@@ -257,13 +282,16 @@ void CMainFrame::InitializeRibbon()
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_WINDOW);
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_WINDOW);
|
|
ASSERT(bNameValid);
|
|
ASSERT(bNameValid);
|
|
CMFCRibbonPanel* pPanelWindow = pCategoryHome->AddPanel(strTemp, m_PanelImages.ExtractIcon (7));
|
|
CMFCRibbonPanel* pPanelWindow = pCategoryHome->AddPanel(strTemp, m_PanelImages.ExtractIcon (7));
|
|
-
|
|
|
|
|
|
+ // 添加 "窗口" 按钮;
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_WINDOWS);
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_WINDOWS);
|
|
ASSERT(bNameValid);
|
|
ASSERT(bNameValid);
|
|
CMFCRibbonButton* pBtnWindows = new CMFCRibbonButton(ID_WINDOW_MANAGER, strTemp, -1, 1);
|
|
CMFCRibbonButton* pBtnWindows = new CMFCRibbonButton(ID_WINDOW_MANAGER, strTemp, -1, 1);
|
|
|
|
+ // 为 "窗口" 按钮添加菜单;(菜单如何自动添加???)
|
|
pBtnWindows->SetMenu(IDR_WINDOWS_MENU, TRUE);
|
|
pBtnWindows->SetMenu(IDR_WINDOWS_MENU, TRUE);
|
|
pPanelWindow->Add(pBtnWindows);
|
|
pPanelWindow->Add(pBtnWindows);
|
|
|
|
|
|
|
|
+ //////////////////////////////////////////////////////////////////////////
|
|
|
|
+ // 添加 "样式" 按钮;
|
|
// 将元素添加到选项卡右侧:
|
|
// 将元素添加到选项卡右侧:
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_STYLE);
|
|
bNameValid = strTemp.LoadString(IDS_RIBBON_STYLE);
|
|
ASSERT(bNameValid);
|
|
ASSERT(bNameValid);
|
|
@@ -279,6 +307,7 @@ void CMainFrame::InitializeRibbon()
|
|
pVisualStyleButton->SetDescription(strTemp);
|
|
pVisualStyleButton->SetDescription(strTemp);
|
|
m_wndRibbonBar.AddToTabs(pVisualStyleButton);
|
|
m_wndRibbonBar.AddToTabs(pVisualStyleButton);
|
|
|
|
|
|
|
|
+#if __QUICKACCESS_COMMAND__
|
|
// 添加快速访问工具栏命令:
|
|
// 添加快速访问工具栏命令:
|
|
CList<UINT, UINT> lstQATCmds;
|
|
CList<UINT, UINT> lstQATCmds;
|
|
|
|
|
|
@@ -288,7 +317,9 @@ void CMainFrame::InitializeRibbon()
|
|
lstQATCmds.AddTail(ID_FILE_PRINT_DIRECT);
|
|
lstQATCmds.AddTail(ID_FILE_PRINT_DIRECT);
|
|
|
|
|
|
m_wndRibbonBar.SetQuickAccessCommands(lstQATCmds);
|
|
m_wndRibbonBar.SetQuickAccessCommands(lstQATCmds);
|
|
|
|
+#endif
|
|
|
|
|
|
|
|
+ // 关闭对话框;
|
|
m_wndRibbonBar.AddToTabs(new CMFCRibbonButton(ID_APP_ABOUT, _T("\na"), m_PanelImages.ExtractIcon (0)));
|
|
m_wndRibbonBar.AddToTabs(new CMFCRibbonButton(ID_APP_ABOUT, _T("\na"), m_PanelImages.ExtractIcon (0)));
|
|
}
|
|
}
|
|
|
|
|