CColorDialog

CObject
 └CCmdTarget
    └CWnd
       └CDialog
          └CCommonDialog
             └CColorDialog

类CColorDialog支持在应用中使用颜色选择对话框。CColorDialog对象是一个拥有一个颜色列表的对话框。用户可以在列表中选择一种颜色,也可以定制颜色,在退出该对话框时,向应用告知选中的颜色。
构造一个CColorDialog对象可以使用类中的构造函数,也可以从类CColorDialog派生一个子类,然后定义自己的构造函数。
在构造了CColorDialog对象后,可以设置或者修改m_cc结构中的任一个值以初始化对话框控件的值。m_cc是一个CHOOSECOLOR类型的结构。
初始化对话框控件之后,就可以调用成员函数DoModal来显示对话框并允许用户选择颜色了。DoModal返回用户对按钮OK或Cancel的选择(返回值依次为IDOK,IDCANCEL)。
如果DoModal返回了IDOK,则可以调用CColorDialog的一个成员函数来检索用户选择的颜色信息。
可以使用Windows函数CommDlgExtendedError来检测对话框初始化时是否发生了错误,并取得错误的相关信息。
类CColorDialog需要使用Windows3.1或更高版本提供的COMMDLG.DLL文件。
定制对话框,可以从CColorDialog派生一个子类,提供一个定制的对话框模板,并增加一个消息映射来处理扩展的控件发来的通知。所有悬挂的消息将被送到基类。
不需要定制钩子函数。
注意:
在某些版本中,如果在框架中使其它的CDialog对象变灰色,CColorDialog对象将不会以灰色背景显示。
要了解有关使用类CColorDialog的更详细的信息,请参阅联机文档“Visual C++程序员指南”中的“通用对话框类”部分。
#include <afxdlgs.h>

CColorDialog类的成员

数据成员
m_cc用于定制对话框设置的一个结构

构造函数
CColorDialog构造一个CColorDialog对象

操作
DoModal显示对话框,并接收用户的选择
GetColor返回一个包含了选中的颜色的值的COLORREF结构
GetSavedCustomColors检索用户定制的颜色
SetCurrentColor设置当前选中的颜色

可覆盖的函数
OnColorOK覆盖它来检验对话框中输入颜色的有效性