常见问题和答疑
Q. 如何添加一个工具栏组合框按钮到面板中?
A. 使用CBCGPRibbonComboBox元素:
1
|
pPanel-<Add (
new
CBCGPRibbonComboBox (ID_MY_COMBO);
|
Q. 如何添加一个快速启动按钮?
A. 假设ID_APP_ABOUT命令显示"About"对话框,想要启用面板的快递启动按钮需要做到以下几点:
1
|
pPanel-<EnableLaunchButton (ID_APP_ABOUT);
|
Q. 在资源中如何从定义的工具栏中添加一个按钮的几个面板组?
A. 在资源编辑器(IDR_MAINFRAME)中创建一个工具栏,为该工具栏(IDB_MAINFRAME256)新增一个图片列表。
1
|
pPanel-<AddToolBar (IDR_MAINFRAME, IDB_MAINFRAME256);
|
Q. 如何添加一组按钮到动态面板中?
A. 创建一个CBCGPRibbonButtonsGroup对象,为其新增按钮,同时将该对象添加到面板中:
1
2
3
4
5
6
|
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. 如何从工具栏中创建一个自定义按钮到一组按钮中?
A. 当工具栏被添加到面板之后,您需要使用自定义按钮代替“常规”按钮。因为Ribbon控件复制并创建动态按钮(例如,当没有控件显示一个按钮,并且该按钮应该被方式在弹出式面板中,Ribbon控件会创建一个按钮副本),您需要指定该自定义按钮的运行时类。
1
2
3
4
5
6
7
8
|
// 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. 如何设置快速访问工具栏?
A. 只需要填写"quick access"命令并调用CBCGPRibbonBar::SetQuickAccessCommands:
1
2
3
4
5
6
7
|
CList<
UINT
,
UINT
> lst;
lst.AddTail (ID_FILE_SAVE);
lst.AddTail (ID_EDIT_COPY);
lst.AddTail (ID_FILE_PRINT);
m_wndRibbonBar.SetQuickAccessCommands (lst);
|
Q. 如何在标签右边添加元素?
A. 在标签右边添加"About"按钮: