BCGControlBar中文教程:Ribbon Bar(3/3)
常見問(wèn)題和答疑
Q. 如何添加一個(gè)工具欄組合框按鈕到面板中?
A. 使用CBCGPRibbonComboBox元素:
pPanel-<Add (new CBCGPRibbonComboBox (ID_MY_COMBO);
Q. 如何添加一個(gè)快速啟動(dòng)按鈕?
A. 假設(shè)ID_APP_ABOUT命令顯示"About"對(duì)話框,想要啟用面板的快遞啟動(dòng)按鈕需要做到以下幾點(diǎn):
pPanel-<EnableLaunchButton (ID_APP_ABOUT);
Q. 在資源中如何從定義的工具欄中添加一個(gè)按鈕的幾個(gè)面板組?
A. 在資源編輯器(IDR_MAINFRAME)中創(chuàng)建一個(gè)工具欄,為該工具欄(IDB_MAINFRAME256)新增一個(gè)圖片列表。
pPanel-<AddToolBar (IDR_MAINFRAME, IDB_MAINFRAME256);
Q. 如何添加一組按鈕到動(dòng)態(tài)面板中?
A. 創(chuàng)建一個(gè)CBCGPRibbonButtonsGroup對(duì)象,為其新增按鈕,同時(shí)將該對(duì)象添加到面板中:
CBCGPRibbonButtonsGroup* pButtonsList = new CBCGPRibbonButtonsGroup; pButtonsList-<AddButton (new CBCGPRibbonButton (ID_FORMAT_GROWFONT, _T("Grow font"), 19)); pButtonsList-<AddButton (new CBCGPRibbonButton (ID_FORMAT_SHRINKFONT, _T("Shrink Font"), 20)); pPanel-<Add (pButtonsList);
Q. 如何從工具欄中創(chuàng)建一個(gè)自定義按鈕到一組按鈕中?
A. 當(dāng)工具欄被添加到面板之后,您需要使用自定義按鈕代替“常規(guī)”按鈕。因?yàn)镽ibbon控件復(fù)制并創(chuàng)建動(dòng)態(tài)按鈕(例如,當(dāng)沒有控件顯示一個(gè)按鈕,并且該按鈕應(yīng)該被方式在彈出式面板中,Ribbon控件會(huì)創(chuàng)建一個(gè)按鈕副本),您需要指定該自定義按鈕的運(yùn)行時(shí)類。
// Load and add toolbar with standard buttons. This toolbar should display a custom color button // with id ID_CHAR_COLOR: pPanel-<AddToolBar (IDR_MAINFRAME, IDB_MAINFRAME256); CBCGPRibbonColorButton* pColorButton = (CBCGPRibbonColorButton*) pPanel-<SetElementRTCByID (ID_CHAR_COLOR, RUNTIME_CLASS (CBCGPRibbonColorButton)); // SetElementRTCByID sets runtime class and returns a pointer to the // newly created custom button, which can be set up immediately: pColorButton-<EnableAutomaticButton (_T("Automatic"), RGB (0, 0, 0));
Q. 如何設(shè)置快速訪問(wèn)工具欄?
A. 只需要填寫"quick access"命令并調(diào)用CBCGPRibbonBar::SetQuickAccessCommands:
CList<UINT, UINT> lst; lst.AddTail (ID_FILE_SAVE); lst.AddTail (ID_EDIT_COPY); lst.AddTail (ID_FILE_PRINT); m_wndRibbonBar.SetQuickAccessCommands (lst);
Q. 如何在標(biāo)簽右邊添加元素?
A. 在標(biāo)簽右邊添加"About"按鈕:
m_wndRibbonBar.AddToTabs ( new CBCGPRibbonButton (ID_APP_ABOUT, _T(""), m_icons.ExtractIcon (5)));