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);
继承层次结构
要求
标头: 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 方法检索所选颜色。