原創|使用教程|編輯:龔雪|2016-09-05 09:26:44.000|閱讀 1338 次
概述:"Backstage View"引入到Microsoft Office 2010中來替代應用程序的菜單。本教程主要為大家介紹Ribbon的Backstage視圖。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
為了在應用程序中啟用Backstage視圖,您可以執行以下步驟。以下的指南假設Ribbon控件被定義為m_wndRibbonBar,應用程序按鈕上顯示的文本是"File",命令圖片以圖片列表的形式展示,視圖項擁有一個資源ID IDB_FILESMALL。下面提到的圖像索引假設您已經獲得下面的圖像列表:
11. 在資源編輯器匯總新增一個具有IDD_FORM_RECENTFILES ID的新的對話框資源。
12. 打開對話框的屬性,并設置Style - Child、Border - None、Clip siblings - checked、Clip children - checked。
13. 將3個控件放置在該對話框中——靜態文本"Recent Files"、集中在對話框客戶端區域的列表框和它們之間的分隔符。IDC_RECENT_FILES ID分配給列表框、IDC_INFO_LABEL1分配給靜態文本、IDC_SEPARATOR_1分配給分隔符:
14. 從CBCGPDialog中派生出一個類,然后命名為CBackStagePageRecentFiles。
15. 按照如下使用CBCGPRecentFilesListBox來替代標準的列表框:
16. 當父Backstage視圖調整大小時使用自動調整功能使對話框上的所有空間自動對齊。為此將下面的代碼添加到OnInitDialog中:
CBCGPStaticLayout* pLayout = (CBCGPStaticLayout*)GetLayout(); pLayout->AddAnchor(IDC_INFO_LABEL1, CBCGPStaticLayout::e_MoveTypeNone, CBCGPStaticLayout::e_SizeTypeHorz); pLayout->AddAnchor(IDC_SEPARATOR_1, CBCGPStaticLayout::e_MoveTypeNone, CBCGPStaticLayout::e_SizeTypeHorz); pLayout->AddAnchor(IDC_RECENT_FILES, CBCGPStaticLayout::e_MoveTypeNone, CBCGPStaticLayout::e_SizeTypeBoth);
此代碼意味著靜態文本空間不動,只是水平調整;分隔符空間不動,只是水平調整;列表控件不動,垂直和水平調整。
17. 現在我們回到初始代碼,并添加一個全新的視圖條目命名為"Recent":
CBCGPRibbonBackstageViewItemForm* pFormRecent = new CBCGPRibbonBackstageViewItemForm (IDD_FORM_RECENTFILES, RUNTIME_CLASS(CBackStagePageRecentFiles)); pBackstagePanel->AddView (0, _T("Recent"), pFormRecent);
18. 可能會在激活視圖(激活的對話框)右下角顯示一個水印圖像。為此添加一個新的位圖資源,并為其分配ID IDB_BS_WATERMARK。現在您可以通過調用SetWaterMarkImage為每個CBCGPRibbonBackstageViewItemForm或CBCGPRibbonBackstageViewItemPropertySheet對象設置水印圖像。
19. 設置添加水印圖像到"Recent"視圖中:
pFormRecent->SetWaterMarkImage(IDB_BS_WATERMARK, RGB(0, 0, 192));
最后一個參數可以是相應于我們在步驟3設置的應用程序按鈕顏色。
20. 添加最后一個命令"Exit":
pBackstagePanel->AddCommand (ID_APP_EXIT, _T("Exit"), 5 /* Image index */);
21. 現在,您可以編譯并運行應用程序,同時可以在Backstage視圖的右邊查看6項條目:Save、Save As、Open、Close、Recent、Exit,其中有5個條目是命令,1個是視圖("Recent")。當您單擊命令時,Back Stage視圖被關閉并執行單擊的命令。當您選擇一個視圖條目 ("Recent")時,與MRU文件列表相對應的對話框將會顯示在Backstage視圖的右側:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網