CMFCColorDialog 类
CMFCColorDialog
类表示颜色选择对话框。
语法
class CMFCColorDialog : public CDialogEx
成员
公共构造函数
名称 | 描述 |
---|---|
CMFCColorDialog::CMFCColorDialog | 构造 CMFCColorDialog 对象。 |
CMFCColorDialog::~CMFCColorDialog |
析构函数。 |
公共方法
名称 | 描述 |
---|---|
CMFCColorDialog::GetColor | 返回当前选定的颜色。 |
CMFCColorDialog::GetPalette | 返回调色板。 |
CMFCColorDialog::PreTranslateMessage |
在将窗口消息发送到 TranslateMessage 和 DispatchMessage Windows 函数之前,对此消息进行转换。 有关语法和详细信息,请参阅 CWnd::PreTranslateMessage。 (替代 CDialogEx::PreTranslateMessage 。) |
CMFCColorDialog::RebuildPalette | 从系统调色板派生调色板。 |
CMFCColorDialog::SetCurrentColor | 设置当前所选颜色。 |
CMFCColorDialog::SetNewColor | 设置最等效于指定 RGB 值的颜色。 |
CMFCColorDialog::SetPageOne | 为第一个属性页选择 RGB 值。 |
CMFCColorDialog::SetPageTwo | 为第二个属性页选择 RGB 值。 |
受保护的数据成员
名称 | 描述 |
---|---|
m_bIsMyPalette |
如果颜色选择对话框使用自己的调色板,则为 TRUE;如果对话框使用 CMFCColorDialog 构造函数中指定的调色板,则为 FALSE。 |
m_bPickerMode |
当用户从选择对话框中选择颜色时为 TRUE;否则为 FALSE。 |
m_btnColorSelect |
用户选择的颜色按钮。 |
m_CurrentColor |
当前选定的颜色。 |
m_hcurPicker |
用于选取颜色的光标。 |
m_NewColor |
可能的选定颜色,可以永久选定,也可以还原为初始颜色。 |
m_pColourSheetOne |
指向颜色选择属性表的第一个属性页的指针。 |
m_pColourSheetTwo |
指向颜色选择属性表的第二个属性页的指针。 |
m_pPalette |
当前逻辑调色板。 |
m_pPropSheet |
指向颜色选择对话框的属性表的指针。 |
m_wndColors |
颜色选取器控件对象。 |
m_wndStaticPlaceHolder |
作为颜色选取器属性表的占位符的静态控件。 |
注解
颜色选择对话框显示为具有两页的属性表。 在第一页上,从系统调色板中选择标准颜色;在第二页上,选择自定义颜色。
可以在堆栈上构造 CMFCColorDialog
对象,然后调用 DoModal
,将初始颜色作为参数传递给 CMFCColorDialog
构造函数。 然后,颜色选择对话框创建多个 CMFCColorPickerCtrl 类对象来处理每个调色板。
继承层次结构
示例
以下示例演示如何使用 CMFCColorDialog
类中的各种方法配置颜色对话框。 该示例演示如何设置对话框的当前颜色和新颜色,以及如何在颜色对话框的两个属性页上设置所选颜色的红色、绿色和蓝色分量。 本示例是新控件示例的一部分。
// COLORREF m_Color
CMFCColorDialog dlg(m_Color, 0, this);
dlg.SetCurrentColor(RGB(0, 255, 0));
dlg.SetNewColor(RGB(0, 0, 255));
// set the red, green, and blue components of a selected
// color on the two property pages of the color dialog
dlg.SetPageOne(255, 0, 0);
dlg.SetPageTwo(0, 255, 0);
要求
标头:afxcolordialog.h
CMFCColorDialog::CMFCColorDialog
构造 CMFCColorDialog
对象。
CMFCColorDialog(
COLORREF clrInit=0,
DWORD dwFlags=0,
CWnd* pParentWnd=NULL,
HPALETTE hPal=NULL);
参数
clrInit
[in] 默认颜色选择。 如果未指定任何值,则默认值为 RGB(0,0,0)(黑色)。
dwFlags
[in] 保留。
pParentWnd
指向对话框的父窗口或所有者窗口的指针。
hPal
[in] 调色板的句柄。
返回值
注解
CMFCColorDialog::GetColor
检索用户从颜色对话框中选择的颜色。
COLORREF GetColor() const;
返回值
一个 COLORREF 值,该值包含颜色对话框中所选颜色的 RGB 信息。
备注
调用 DoModal
方法后调用此函数。
CMFCColorDialog::GetPalette
检索当前颜色对话框中可用的调色板。
CPalette* GetPalette() const;
返回值
指向 CMFCColorDialog
构造函数中指定的 CPalette
对象的指针。
注解
调色板指定用户可以选择的颜色。
CMFCColorDialog::RebuildPalette
从系统调色板派生调色板。
void RebuildPalette();
CMFCColorDialog::SetCurrentColor
设置对话框的当前颜色。
void SetCurrentColor(COLORREF rgb);
参数
rgb
[in] RGB 颜色值
注解
CMFCColorDialog::SetNewColor
将当前颜色设置为当前调色板中最相似的颜色。
void SetNewColor(COLORREF rgb);
参数
rgb
[in] 指定 RGB 颜色的 COLORREF。
备注
CMFCColorDialog::SetPageOne
在颜色对话框的第一个属性页上显式指定所选颜色的红色、绿色和蓝色分量。
void SetPageOne(
BYTE R,
BYTE G,
BYTE B);
参数
R
[in] 指定 RGB 值的红色分量。
G
[in] 指定 RGB 值的绿色分量。
B
[in] 指定 RGB 值的蓝色分量。
注解
CMFCColorDialog::SetPageTwo
在颜色对话框的第二个属性页上显式指定所选颜色的红色、绿色和蓝色分量。
void SetPageTwo(
BYTE R,
BYTE G,
BYTE B);
参数
R
[in] 指定 RGB 值的红色分量
G
[in] 指定 RGB 值的绿色分量
B
[in] 指定 RGB 值的蓝色分量