您好,登錄后才能下訂單哦!
小編給大家分享一下VS Ribbon命令按鈕的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
Visual C++還是比較常用的,于是我研究了一下VS Ribbon命令按鈕,在這里拿出來和大家分享一下,希望對大家有用。到現(xiàn)在為止,我們已經(jīng)按照菜單式界面的開發(fā)流程,完成了資源的編輯和消息函數(shù)的實現(xiàn)。如果這時我們編譯運行解決方案,我們在程序界面上看不到任何變化,因為我們還沒有把這些命令綁定到Ribbon Bar的命令按鈕上。在CMainFrame類中,它提供了一個專門的函數(shù)CMainFrame::InitializeRibbon()來完成 Ribbon界面的初始化工作,所以,我們在這個函數(shù)中添加如下代碼,創(chuàng)建新的命令分組,然后將命令按鈕映射到我們剛剛創(chuàng)建的菜單項。
void CMainFrame::InitializeRibbon()
{
BOOL bNameValid;
///…
//////////////////////////////////////////////////////////////
// 添加一個命令分組(Category)“RibbonUI Category”
CMFCRibbonCategory *pRibbonUICategory =
m_wndRibbonBar.AddCategory(_T("RibbonUI Category"),
IDB_WRITESMALL, IDB_WRITELARGE);
// 添加一個面板(Panel)
CMFCRibbonPanel *pTestPanel = pRibbonUICategory->
AddPanel(_T("RibbonUI Panel"), m_PanelImages.ExtractIcon(1));
// 在面板上添加Ribbon命令按鈕(CMFCRibbonButton)
pTestPanel->Add(new CMFCRibbonButton(ID_EDIT_SAYHELLO, _T("Say Hello"), 0, 0));
pTestPanel->Add(new CMFCRibbonButton(ID_EDIT_SAYHELLO, _T("Say Hello"), 1));
pTestPanel->Add(new CMFCRibbonButton(ID_EDIT_SAYGOODBYE, _T("Say Goodbye"), 2));
//////////////////////////////////////////////////////////////
///…
}
在這段代碼中,我們首先利用Ribbon Bar的AddCategory()函數(shù),添加了一個新的命令分組(Category),也就是Ribbon Bar上的一個新的標(biāo)簽頁。然后,我們在這個新創(chuàng)建的標(biāo)簽頁中,添加了一個新的面板(Panel)。***,我們創(chuàng)建了三個VS Ribbon命令按鈕 (CMFCRibbonButton),并將它們放置到面板中。通過指定跟菜單資源中的菜單項相同的資源ID,我們將這些VS Ribbon命令按鈕跟我們之前創(chuàng)建的菜單項一一對應(yīng)起來。當(dāng)我們點擊某個VS Ribbon命令按鈕時,就會執(zhí)行相應(yīng)的菜單命令響應(yīng)函數(shù)。這樣,我們就實現(xiàn)了菜單命令在Ribbon Bar的綁定,同時在界面上也能看到我們剛剛添加的命令按鈕了。
以上是“VS Ribbon命令按鈕的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。