CMFCRibbonColorButton 类

CMFCRibbonColorButton 类用于实现可添加到功能区栏的颜色按钮。 功能区颜色按钮显示包含一个或多个调色板的下拉菜单。

语法

class CMFCRibbonColorButton : public CMFCRibbonGallery

成员

公共构造函数

名称 描述
CMFCRibbonColorButton::CMFCRibbonColorButton

公共方法

名称 描述
CMFCRibbonColorButton::AddColorsGroup 将一组颜色添加到常规颜色区域。
CMFCRibbonColorButton::EnableAutomaticButton 指定是否启用 “自动”按钮。
CMFCRibbonColorButton::EnableOtherButton 启用“其他” 按钮。
CMFCRibbonColorButton::GetAutomaticColor
CMFCRibbonColorButton::GetColor 返回当前选定的颜色。
CMFCRibbonColorButton::GetColorBoxSize 返回在颜色栏上显示的颜色元素的大小。
CMFCRibbonColorButton::GetColumns
CMFCRibbonColorButton::GetHighlightedColor 返回调色板弹出窗口上当前选定的元素的颜色。
CMFCRibbonColorButton::RemoveAllColorGroups 删除常规颜色区域中所有颜色组。
CMFCRibbonColorButton::SetColor 选择常规颜色区域中的某种颜色。
CMFCRibbonColorButton::SetColorBoxSize 设置在颜色条上显示的所有颜色元素的大小。
CMFCRibbonColorButton::SetColorName
CMFCRibbonColorButton::SetColumns
CMFCRibbonColorButton::SetDocumentColors 指定要在文档颜色区域中显示的 RGB 值列表。
CMFCRibbonColorButton::SetPalette
CMFCRibbonColorButton::UpdateColor

备注

功能区颜色按钮显示用户按下它时的颜色条。 默认情况下,此颜色条包含称为常规颜色区域的颜色选择调色板。 (可选)颜色条包含一个 “自动”按钮,该按钮允许用户选择默认颜色,以及包含一个“其他” 按钮,该按钮用于显示包含其他颜色的调色板弹出窗口。

示例

下面的示例演示了如何使用 CMFCRibbonColorButton 类中的各种方法。 该示例演示了如何构造 CMFCRibbonColorButton 对象、设置大图像、启用 “自动”按钮、启用 “其他”按钮、设置列数、设置颜色条上显示的所有颜色元素的大小、将一组颜色添加到常规彩色区域中以及指定要在文档颜色区域中显示的 RGB 值列表。 此代码片段属于 Draw Client 示例

// Create the "Paper Color" button
CMFCRibbonColorButton *pBtnPaperColor = new CMFCRibbonColorButton(ID_VIEW_PAPERCOLOR, _T("Paper Color\ng"), TRUE, 13, 1);
pBtnPaperColor->SetAlwaysLargeImage();
pBtnPaperColor->EnableAutomaticButton(_T("&Automatic"), RGB(255, 255, 255));
pBtnPaperColor->EnableOtherButton(_T("&More Colors..."), _T("More Colors"));
pBtnPaperColor->SetColumns(10);
pBtnPaperColor->SetColorBoxSize(CSize(17, 17));
// CList<COLORREF,COLORREF> m_lstMainColors
pBtnPaperColor->AddColorsGroup(_T("Theme Colors"), m_lstMainColors, TRUE);
// CList<COLORREF,COLORREF> m_lstAdditionalColors
pBtnPaperColor->AddColorsGroup(_T(""), m_lstAdditionalColors, FALSE);
// CList<COLORREF,COLORREF> m_lstStandardColors
pBtnPaperColor->AddColorsGroup(_T("Standard Colors"), m_lstStandardColors, TRUE);
CList<COLORREF, COLORREF> lstColors;
lstColors.AddTail(RGB(255, 0, 0));
lstColors.AddTail(RGB(0, 255, 0));
lstColors.AddTail(RGB(0, 0, 255));
pBtnPaperColor->SetDocumentColors(_T("Document Colors"), lstColors);

继承层次结构

CObject

CMFCRibbonBaseElement

CMFCRibbonButton

CMFCRibbonGallery

CMFCRibbonColorButton

要求

标头: afxribboncolorbutton.h

CMFCRibbonColorButton::AddColorsGroup

将一组颜色添加到常规颜色区域。

void AddColorsGroup(
    LPCTSTR lpszName,
    const CList<COLORREF,COLORREF>& lstColors,
    BOOL bContiguousColumns=FALSE);

参数

lpszName
[in] 组名称。

lstColors
[in] 颜色列表。

bContiguousColumns
[in] 控制颜色项在组中的显示方式。 如果为 TRUE,则绘制颜色项时不带垂直间距。 如果为 FALSE,则绘制颜色项时带垂直间距。

备注

使用此函数使颜色弹出窗口显示多个颜色组。 可以控制颜色在组中的显示方式。

CMFCRibbonColorButton::CMFCRibbonColorButton

构造 CMFCRibbonColorButton 对象。

CMFCRibbonColorButton();

CMFCRibbonColorButton(
    UINT nID,
    LPCTSTR lpszText,
    int nSmallImageIndex,
    COLORREF color = RGB(0, 0, 0));

CMFCRibbonColorButton(
    UINT nID,
    LPCTSTR lpszText,
    BOOL bSimpleButtonLook,
    int nSmallImageIndex,
    int nLargeImageIndex,
    COLORREF color = RGB(0, 0, 0));

参数

nID
[in] 指定用户单击按钮时要执行的命令的命令 ID。

lpszText
[in] 指定要在按钮上显示的文本。

nSmallImageIndex
[in] 要显示在按钮上的小型图像的从零开始的索引。

color
[in] 按钮的颜色(默认为黑色)。

bSimpleButtonLook
[in] 如果为 TRUE,则按钮将绘制为简单矩形。

nLargeImageIndex
[in] 要显示在按钮上的大型图像的从零开始的索引。

返回值

备注

CMFCRibbonColorButton::EnableAutomaticButton

指定是否启用 “自动”按钮。

void EnableAutomaticButton(
    LPCTSTR lpszLabel,
    COLORREF colorAutomatic,
    BOOL bEnable=TRUE,
    LPCTSTR lpszToolTip=NULL,
    BOOL bOnTop=TRUE,
    BOOL bDrawBorder=FALSE);

参数

lpszLabel
[in]“自动”按钮的标签

colorAutomatic
[in] 指定“自动”按钮默认颜色的 RGB 值

bEnable
[in] 如果启用“自动”按钮,则为 TRUE;如果按钮处于禁用状态,则为 FALSE

lpszToolTip
[in]“自动”按钮的工具提示

bOnTop
[in] 指定“自动”按钮是否位于调色板之前的顶部

bDrawBorder
[in] 如果应用程序在功能区颜色按钮上的颜色栏周围绘制边框,则为 TRUE。 颜色栏显示当前选定的颜色。 如果应用程序不绘制边框,则为 FALSE

CMFCRibbonColorButton::EnableOtherButton

启用“其他” 按钮。

void EnableOtherButton(
    LPCTSTR lpszLabel,
    LPCTSTR lpszToolTip=NULL);

参数

lpszLabel
按钮的标签。

lpszToolTip
“其他”按钮的工具提示文本

备注

“其他”按钮是显示在颜色组下方的按钮。 当用户单击“其他”按钮时,会显示颜色对话框

CMFCRibbonColorButton::GetAutomaticColor

检索当前的自动按钮颜色。

COLORREF GetAutomaticColor() const;

返回值

表示当前自动按钮颜色的 RGB 颜色值。

备注

自动按钮颜色由传递给 CMFCRibbonColorButton::EnableAutomaticButton 方法的 colorAutomatic 参数设置。

CMFCRibbonColorButton::GetColor

返回当前选定的颜色。

COLORREF GetColor() const;

返回值

通过单击按钮选择的颜色。

CMFCRibbonColorButton::GetColorBoxSize

返回在颜色栏上显示的颜色元素的大小。

CSize GetColorBoxSize() const;

返回值

下拉列表调色板中颜色按钮的大小。

CMFCRibbonColorButton::GetColumns

获取功能区颜色按钮库显示的行中的项数。

int GetColumns() const;

返回值

返回每行中的图标数。

备注

CMFCRibbonColorButton::GetHighlightedColor

返回调色板弹出窗口上当前选定的元素的颜色。

COLORREF GetHighlightedColor() const;

返回值

调色板弹出窗口上当前选定的元素的颜色。

CMFCRibbonColorButton::RemoveAllColorGroups

删除常规颜色区域中所有颜色组。

void RemoveAllColorGroups();

CMFCRibbonColorButton::SetColor

选择常规颜色区域中的某种颜色。

void SetColor(COLORREF color);

参数

color
[in] 要设置的颜色。

CMFCRibbonColorButton::SetColorBoxSize

设置在颜色条上显示的所有颜色元素的大小。

void SetColorBoxSize(CSize sizeBox);

参数

sizeBox
[in] 调色板中颜色按钮的新大小。

CMFCRibbonColorButton::SetColorName

为指定的颜色设置新名称。

static void __stdcall SetColorName(
    COLORREF color,
    const CString& strName);

参数

color
[in] 颜色的 RGB 值。

strName
[in] 指定的颜色的新名称。

注解

由于会调用 CMFCColorBar::SetColorName,此方法将更改应用程序中所有 CMFCColorBar 对象中的指定颜色的名称。

CMFCRibbonColorButton::SetColumns

设置在用户选择颜色过程中呈现给用户的颜色表中显示的列数。

void SetColumns(int nColumns);

参数

nColumns
[in] 要在每个行中显示的颜色图标数。

备注

CMFCRibbonColorButton::SetDocumentColors

指定要在文档颜色区域中显示的 RGB 值列表。

void SetDocumentColors(
    LPCTSTR lpszLabel,
    CList<COLORREF,COLORREF>& lstColors);

参数

lpszLabel
[in] 要用文档颜色显示的文本。

lstColors
[in] 对“RGB”值列表的引用。

CMFCRibbonColorButton::SetPalette

指定要在颜色表中显示的标准颜色(该表显示颜色按钮)。

void SetPalette(CPalette* pPalette);

参数

pPalette
[in] 指向调色板的指针。

备注

CMFCRibbonColorButton::UpdateColor

当用户从单击颜色按钮时显示的颜色表中选择一种颜色时,由框架调用。

void UpdateColor(COLORREF color);

参数

color
[in] 用户选择的颜色。

注解

CMFCRibbonColorButton::UpdateColor 方法更改当前所选按钮的颜色,并使用 BN_CLICKED 标准通知发送 WM_COMMAND 消息来通知其父级。 使用 CMFCRibbonColorButton::GetColor 方法检索所选颜色。

另请参阅

层次结构图

CMFCRibbonGallery 类