CMFCColorDialog 类

CMFCColorDialog 类表示颜色选择对话框。

语法

class CMFCColorDialog : public CDialogEx

成员

公共构造函数

名称 描述
CMFCColorDialog::CMFCColorDialog 构造 CMFCColorDialog 对象。
CMFCColorDialog::~CMFCColorDialog 析构函数。

公共方法

名称 描述
CMFCColorDialog::GetColor 返回当前选定的颜色。
CMFCColorDialog::GetPalette 返回调色板。
CMFCColorDialog::PreTranslateMessage 在将窗口消息发送到 TranslateMessageDispatchMessage 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 类对象来处理每个调色板。

继承层次结构

CObject

CCmdTarget

CWnd

CDialog

CDialogEx

CMFCColorDialog

示例

以下示例演示如何使用 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 值的蓝色分量

备注

另请参阅

层次结构图

CMFCColorPickerCtrl 类