溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

VS Ribbon命令按鈕的示例分析

發(fā)布時間:2021-12-30 16:26:50 來源:億速云 閱讀:128 作者:小新 欄目:編程語言

小編給大家分享一下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)建的菜單項。

  1. void CMainFrame::InitializeRibbon()  

  2. {  

  3. BOOL bNameValid;  

  4. ///…  

  5. //////////////////////////////////////////////////////////////  

  6. // 添加一個命令分組(Category)“RibbonUI Category”  

  7. CMFCRibbonCategory *pRibbonUICategory =  

  8. m_wndRibbonBar.AddCategory(_T("RibbonUI Category"),  

  9. IDB_WRITESMALL, IDB_WRITELARGE);  

  10.  

  11. // 添加一個面板(Panel)  

  12. CMFCRibbonPanel *pTestPanel = pRibbonUICategory->
    AddPanel(_T("RibbonUI Panel"), m_PanelImages.ExtractIcon(1));  

  13.  

  14. // 在面板上添加Ribbon命令按鈕(CMFCRibbonButton)  

  15. pTestPanel->Add(new CMFCRibbonButton(ID_EDIT_SAYHELLO, _T("Say Hello"), 0, 0));  

  16. pTestPanel->Add(new CMFCRibbonButton(ID_EDIT_SAYHELLO, _T("Say Hello"), 1));  

  17. pTestPanel->Add(new CMFCRibbonButton(ID_EDIT_SAYGOODBYE, _T("Say Goodbye"), 2));  

  18. //////////////////////////////////////////////////////////////  

  19. ///…  

在這段代碼中,我們首先利用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è)資訊頻道!

向AI問一下細(xì)節(jié)

免責(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)容。

AI