轉(zhuǎn)帖|使用教程|編輯:鮑佳佳|2020-11-19 11:28:26.367|閱讀 700 次
概述:Ribbon是類似于office2007樣 式的界面,它替代了傳統(tǒng)的MFC程序里的菜單和工具欄MFC默認(rèn)生成的Ribbon功能少,需要我們自己添加一些控件和圖片等元素使界面好看。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
Ribbon是類似于office2007樣 式的界面,它替代了傳統(tǒng)的MFC程序里的菜單和工具欄MFC默認(rèn)生成的Ribbon功能少,需要我們自己添加一些控件和圖片等元素使界面好看??聪旅娴囊粋€(gè)界面,是示例里的
看到它與默認(rèn)Ribbon樣式的區(qū)別:
工具自己設(shè)計(jì),MFC提供的Ribbon控件基本都用上了;圖片(位圖)也是原資源沒(méi)有的
那到底怎么實(shí)現(xiàn)呢?
 可以注意到的是:類別由面板組成,面板由按鈕或文本編輯框或進(jìn)度條等控件組成
按鈕都是有圖片和文字組成,按鈕通過(guò)按鈕集合可以產(chǎn)生類似于下拉菜單的作用
觀察這些按鈕,可以發(fā)現(xiàn)有兩類:小圖標(biāo)的按鈕和大圖標(biāo)的按鈕
小圖標(biāo):像素16×16,32位
大圖標(biāo):像素32×32,32位
關(guān)鍵問(wèn)題是如何制作這些BitMap以及如何將他們加載到Ribbon界面中。
有兩個(gè)方法:一是自己動(dòng)手制作,二是利用現(xiàn)成的組件ToolKit Pro,BCGControlBar,QitanRibbon后文會(huì)有詳細(xì)介紹!
一、 制作工具欄BitMap
在網(wǎng)上找了IconWorkshop這個(gè)軟件,很好用,可以制作icon圖標(biāo),也可以用多個(gè)icon圖標(biāo)制作位圖BitMap。這正是我想要的功能
  自己不會(huì)美工,所以在網(wǎng)上找了些素材,做了以下一個(gè)工具欄樣的32×32像素32位的BitMap
看到木有,跟程序默認(rèn)生成的幾個(gè)位圖很像啊,內(nèi)牛滿面啊
將這個(gè)位圖加載到資源中,ID改為IDB_BIG
修改Ribbon內(nèi)的按鈕圖標(biāo)
首先,修改類別屬性,Large Images和Small Images,Large Images就是大圖標(biāo),Small Images是小圖標(biāo)。在Large Images中的下拉菜單中選擇IDB_BIG
然后修改面板中的按鈕屬性,在Large Images屬性選項(xiàng)中選擇一個(gè)合適的圖標(biāo)即可
小圖標(biāo)也是一樣的道理,修改各自Small Images屬性即可
實(shí)現(xiàn)下拉菜單
按鈕屬性中有個(gè)行為的屬性,在里面添加相應(yīng)的菜單(或間隔符)即完成了類似下拉菜單
還有一些快捷方式的按鍵(兩個(gè)向下的箭頭、最左上角的圖標(biāo)按鈕)也可以設(shè)置它們的功能項(xiàng)
我做出來(lái)的界面如下所示
將按鈕ID和菜單上的ID匹配
Ribbon中的菜單ID是不能自己設(shè)置的,必須綁定在某個(gè)菜單上,對(duì)菜單的事件響應(yīng)就是對(duì)響應(yīng)的Ribbon上按鈕的響應(yīng),所以按了Ribbon界面上的某個(gè)按鈕就等同于按鈕對(duì)應(yīng)的某個(gè)菜單
所以必須將菜單欄也制作完整,給其添加事件消息,將Ribbon中按鈕的ID改為對(duì)應(yīng)菜單的ID。菜單不在界面中顯示出來(lái)不代表它就沒(méi)用,沒(méi)它還不行,不知道以后能不能擺脫菜單直接在Ribbon按鈕上添加事件。
修改最小化工具欄上的圖標(biāo)
上圖雖然修改了左上角的按鈕圖標(biāo),但是電腦工具欄上還是現(xiàn)實(shí)的MFC圖標(biāo),使用下面代碼進(jìn)行修改
二、利用組件
在平時(shí)練習(xí)的時(shí)候我們可以自己手動(dòng)進(jìn)行,但是一旦接受一些項(xiàng)目,應(yīng)用程序開(kāi)發(fā)等,對(duì)界面的要求就會(huì)高出許多。這時(shí)候就有必要借助這些“半成品”實(shí)現(xiàn)界面美化提升效率。這里簡(jiǎn)單介紹一下,具體可點(diǎn)進(jìn)去查看每個(gè)的詳情以及教程,案例!
Toolkit Pro:
Codejock軟件公司的Xtreme Toolkit Pro是屢獲殊榮的VC界面庫(kù),是MFC開(kāi)發(fā)中最全面界面控件套包,它提供了Windows開(kāi)發(fā)所需要的11種主流的Visual C++ MFC控件,包括Command Bars、Controls、Chart Pro、Calendar、Docking Pane、Property Grid、Report Control、Shortcut Bar、Syntax Edit、Skin Framework 和Task Panel。(點(diǎn)這下載)
BCGControlBar
BCGControlBar ("Business Components Gallery ControlBar")是MFC擴(kuò)展庫(kù),使您可以創(chuàng)建具有完全自定義選項(xiàng)(功能區(qū)、可自定義工具欄、菜單等)以及一組專業(yè)設(shè)計(jì)的豐富Microsoft Office和Microsoft Visual Studio的應(yīng)用程序 GUI控件,例如圖表、日歷、網(wǎng)格、編輯器、甘特圖和許多其他控件。
BCGControlBar庫(kù)擁有500多個(gè)經(jīng)過(guò)全面設(shè)計(jì)、測(cè)試和充分記錄的MFC擴(kuò)展類??梢暂p松地集成到你的應(yīng)用程序中,并為你節(jié)省數(shù)百個(gè)開(kāi)發(fā)和調(diào)試時(shí)間。(點(diǎn)這下載)
QtitanRibbon:
QtitanRibbon是一款遵循Microsoft Ribbon UI Paradigm for Qt技術(shù)的Ribbon UI組件,QtitanRibbon致力于為Windows、Linux和Mac OS X提供功能完整的Ribbon組件。
本文轉(zhuǎn)載自:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn