1 CColorDialog 类
①数据成员 m_cc
CHOOSECOLOR m_cc; 是一个指向结构体CHOOSECOLOR类型的变量,
typedef struct {
DWORD lStructSize; //结构长度
HWND hwndOwner; //所属窗口
HWND hInstance; //
COLORREF rgbResult; //如果Flags字段指定了CC_RGBINIT标志,那么创建对话框时使用这个字段
//来初始化选择框中的颜色;函数返回时在这里返回用户选择的颜色
COLORREF *lpCustColors; //指向一个16个双字的缓冲区,定义16种自定义颜色
DWORD Flags; //标志,如下的组合:
//CC_FULLOPEN---对话框显示右边的扩展部分,如果不指定这个标志,初始化时扩展
//部分不显示,但用户可以通过单击“规定自定义颜色”按钮将对话框打开
//CC_PREVENTFULLOPEN---禁止“规定自定义颜色”按钮,即不允许用户展开对话框
//的扩展部分
//CC_RGBINIT---对话框显示时用rgbResult字段的值初始化选择框中的颜色
LPARAM lCustData; //
LPCCHOOKPROC lpfnHook; //
LPCTSTR lpTemplateName; //
} CHOOSECOLOR, *LPCHOOSECOLOR;
2 eg.例子
CColorDialog dlg;
dlg.m_cc.Flags |= CC_RGBINIT | CC_FULLOPEN; //CC_RGBINIT表示以结构体中变量rgbResult的值来初始化当打开颜色选择对话框时候所默认选择的颜色。 CC_FULLOPEN表示打开此对话框时全部展开
dlg.m_cc.rgbResult = color; //color为上一次选择的结果
if( IDOK == dlg.DoModal())
{
color = dlg.m_cc.rgbResult;
}
// codes ...
?
原文:http://blog.csdn.net/ACE1985/archive/2010/07/28/5770482.aspx