您的位置:首页 > 其它

MFC中颜色选择对话框的使用

2013-09-30 17:30 274 查看

MFC中CColorDialog类的使用

在MFC中,我们经常使用颜色对话框类CColorDialog。类CColorDialog支持在应用中使用颜色选择对话框。CColorDialog对象是一个拥有一个颜色列表的对话框。用户可以在列表中选择一种颜色,也可以定制颜色,在退出该对话框时,向应用告知选中的颜色。

一、构造方法:

         CColorDialog(
         COLORREF clrInit = 0,
         DWORD dwFlags = 0,
         CWnd*pParentWnd = NULL
         );
COLORREFclrInit:设定默认的颜色,如果未指定,则默认值为RGB(0,0,0)

DWORD dwFlags:颜色对话框的功能和外观设置标志,参数详细参考二

CWnd*pParentWnd:设置颜色对话框的父窗口

二、dwFlags值:

CC_ANYCOLOR
对话框显示所有可用的基于基本颜色的颜色。

CC_ENABLEHOOK
激活由lpfnHook成员指定的钩子程序。该标识仅用于初始化对话框时。
CC_ENABLETEMPLATE
表示利用由hInstance 和 lpTemplateName 成员指定的对话框模板。该标识符仅用于初始化对话框。
CC_ENABLETEMPLATEHANDLE
表示hInstance成员标识一个包含了预加载的对话框模板的数据块。如果该标识被指定,系统会忽略lpTemplateName 成员。该标识符仅用于初始化对话框。
CC_FULLOPEN
让对话框显示额外的控件以使用户创建自定义的颜色。如果该标识未设置,用户必须点击【自定义颜色】按钮才能显示自定颜色控件。
CC_PREVENTFULLOPEN
使自定义颜色按钮失效。
CC_RGBINIT
让对话框默认使用由rgbResult成员指定的颜色
CC_SHOWHELP
让对话框显示帮助按钮。hwndOwner成员必须在用户点击【帮助】按钮时发送HELPMSGSTRING消息的窗口
CC_SOLIDCOLOR
让对话框仅显示基本颜色组成的纯色。
三、应用实例:
//使用默认参数
CColorDialog   ColorDlg;
if(ColorDlg.DoModal()==IDOK)
COLORREF color = ColorDlg.GetColor();  //也可以使用CColorDialog类成员m_cc操作
//使用自定义参数
CColorDialog   ColorDlg(RGB(80,80,80), CC_FULLOPEN);
if(ColorDlg.DoModal()== IDOK)
COLORREF color = ColorDlg.GetColor();  //也可以使用CColorDialog类成员m_cc操作
四、获得color的值
int Red =GetRValue(color);
int Green =GetGValue(color);
int Blue = GetBValue(color);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息