CMFCRibbonButtonsGroup 类

CMFCRibbonButtonsGroup 类允许将一系列功能区按钮组织到组中。 组中的所有按钮在水平位置上直接彼此相邻并位于边框中。

语法

class CMFCRibbonButtonsGroup : public CMFCRibbonBaseElement

成员

公共构造函数

名称 描述
CMFCRibbonButtonsGroup::CMFCRibbonButtonsGroup 构造 CMFCRibbonButtonsGroup 对象。

公共方法

名称 描述
CMFCRibbonButtonsGroup::AddButton 将按钮添加到组。
CMFCRibbonButtonsGroup::AddButtons 将按钮列表添加到组。
CMFCRibbonButtonsGroup::GetButton 返回指向位于指定索引处的按钮的指针。
CMFCRibbonButtonsGroup::GetCount 返回组中的按钮数。
CMFCRibbonButtonsGroup::GetImageSize 返回功能区组中普通图像的图像大小(替代 CMFCRibbonBaseElement::GetImageSize
CMFCRibbonButtonsGroup::GetRegularSize 返回功能区元素的常规大小(替代 CMFCRibbonBaseElement::GetRegularSize
CMFCRibbonButtonsGroup::HasImages 报告 CMFCRibbonButtonsGroup 对象是否包含工具栏图像。
CMFCRibbonButtonsGroup::OnDrawImage 绘制指定按钮的相应图像,具体取决于按钮是常规、突出显示还是禁用。
CMFCRibbonButtonsGroup::RemoveAll CMFCRibbonButtonsGroup 对象删除所有按钮。
CMFCRibbonButtonsGroup::SetImages 将图像分配给组。
CMFCRibbonButtonsGroup::SetParentCategory 设置 CMFCRibbonButtonsGroup 对象的父级 CMFCRibbonCategory 以及其中的所有按钮(替代 CMFCRibbonBaseElement::SetParentCategory

备注

该组派生自 CMFCBaseRibbonElement,且能作为单个实体进行操作。 可以将组放置在任何面板或弹出菜单上。

示例

下面的示例演示了如何使用 CMFCRibbonButtonsGroup 类中的各种方法。 该示例演示如何构造 CMFCRibbonButtonsGroup 对象、将图像分配给功能区按钮组,以及向功能区按钮组添加按钮。 此代码片段属于 Draw Client 示例

CMFCRibbonButtonsGroup *pSBGroup = new CMFCRibbonButtonsGroup;

CMFCToolBarImages images;
images.SetImageSize(CSize(14, 14));

CMFCToolBarImages hotimages;
hotimages.SetImageSize(CSize(14, 14));

if (images.Load(IDB_STATUSBAR_1) && hotimages.Load(IDB_STATUSBAR_2))
{
   pSBGroup->SetImages(&images, &hotimages, NULL);
}

pSBGroup->AddButton(new CMFCRibbonButton(ID_FILE_PRINT_PREVIEW, _T(""), 0));
pSBGroup->AddButton(new CMFCRibbonButton(ID_FILE_SUMMARYINFO, _T(""), 1));

// CMFCRibbonStatusBar m_wndStatusBar
m_wndStatusBar.AddExtendedElement(pSBGroup, _T("View Shortcuts"));

继承层次结构

CObject

CMFCRibbonBaseElement

CMFCRibbonButtonsGroup

要求

标头:afxribbonbuttonsgroup.h

CMFCRibbonButtonsGroup::AddButton

将按钮添加到组。

void AddButton(CMFCRibbonBaseElement* pButton);

参数

pButton
[in] 指向要添加的按钮的指针。

CMFCRibbonButtonsGroup::AddButtons

将按钮列表添加到组。

void AddButtons(
    const CList<CMFCRibbonBaseElement*,CMFCRibbonBaseElement*>& lstButtons);

参数

lstButtons
[in] 指向要添加的按钮的指针列表。

CMFCRibbonButtonsGroup::CMFCRibbonButtonsGroup

构造 CMFCRibbonButtonsGroup 对象。

CMFCRibbonButtonsGroup();
CMFCRibbonButtonsGroup(CMFCRibbonBaseElement* pButton);

参数

pButton
[in] 指定要添加到新创建的 CMFCRibbonButtonsGroup 对象的按钮。

返回值

备注

CMFCRibbonButtonsGroup::GetButton

返回指向位于指定索引处的按钮的指针。

CMFCRibbonBaseElement* GetButton(int i) const;

参数

i
[in] 要返回的按钮的从零开始的索引。

返回值

指向位于指定索引处的按钮的指针。 如果索引不在范围内,则返回 NULL。

注解

CMFCRibbonButtonsGroup::GetCount

返回组中的按钮数。

int GetCount() const;

返回值

组中的按钮数。

CMFCRibbonButtonsGroup::GetImageSize

检索受保护 CMFCToolBarImages 成员 m_Images 的源图像大小。

const CSize GetImageSize() const;

返回值

返回工具栏图像的源图像大小(如果存在)或零 CSize(如果不存在)。

注解

CMFCRibbonButtonsGroup::GetRegularSize

检索功能区组元素的最大可能大小。

virtual CSize GetRegularSize(CDC* pDC);

参数

pDC
[in] 指向功能区组的设备上下文的指针。

返回值

备注

CMFCRibbonButtonsGroup::HasImages

报告 CMFCRibbonButtonsGroup 对象是否包含工具栏图像。

BOOL HasImages() const;

返回值

如果受保护的 CMFCToolBarImages 成员 m_Images 包含任何图像,则返回 TRUE;否则返回 FALSE。

注解

CMFCRibbonButtonsGroup::OnDrawImage

绘制指定按钮的相应图像,具体取决于按钮是常规、突出显示还是禁用。

virtual void OnDrawImage(
    CDC* pDC,
    CRect rectImage,
    CMFCRibbonBaseElement* pButton,
    int nImageIndex);

参数

pDC
[in] 指向 CMFCRibbonButtonsGroup 对象的设备上下文的指针。

rectImage
[in] 要在其中绘制图像的矩形。

pButton
[in] 要为其绘制图像的按钮。

nImageIndex
[in] 要在按钮上绘制的图像的索引(用于常规、突出显示或禁用按钮的三个图像数组之一)。

注解

CMFCRibbonButtonsGroup::RemoveAll

CMFCRibbonButtonsGroup 对象删除所有按钮。

void RemoveAll();

备注

CMFCRibbonButtonsGroup::SetImages

将图像分配给功能区按钮组。

void SetImages(
    CMFCToolBarImages* pImages,
    CMFCToolBarImages* pHotImages,
    CMFCToolBarImages* pDisabledImages);

参数

pImages
[in] 常规图像。

pHotImages
[in] 热图像。

pDisabledImages
[in] 禁用图像。

备注

在向组添加按钮之前调用 SetImages。 图像数必须大于或等于要添加到组中的按钮数。

注意

热图像是当用户将鼠标悬停在按钮上时显示的图像。 禁用图像是禁用按钮时显示的图像。

CMFCRibbonButtonsGroup::SetParentCategory

设置 CMFCRibbonButtonsGroup 对象的父级 CMFCRibbonCategory 以及其中的所有按钮。

virtual void SetParentCategory(CMFCRibbonCategory* pCategory);

参数

pCategory
[in] 指向要设置的父类别的指针(功能区控件中制表符分隔的组被称为类别)。

备注

另请参阅

层次结构图