您的位置:首页 > 其它

MFC 颜色对话框

2016-06-27 09:09 531 查看

<1>CColorDialog类

其中有颜色对话框的所有操作,是模态的对话框

<2>CColorDialog类的构造函数

CColorDialog(
COLORREF clrInit = 0,
DWORD dwFlags = 0,
CWnd* pParentWnd = NULL
);

参数说明:

clrInit:默认选择颜色的颜色值,类型为COLORREF,实际上就是unsigned long类型。如果没有设置它的值,则默认为RGB(0,0,0),即黑色。

注:RGB(r,g,b)是宏,可以计算颜色值。括号中的三个值分别为红、绿、蓝分量的值。

dwFlags:自定义颜色对话框功能和外观的属性值。详情可在MSDN中查阅。

pParentWnd:颜色对话框的父窗口的指针。

<3>获取颜色对话框中选中的颜色值

需要调用函数
COLORREF GetColor( ) const;
BYTE GetRValue(DWORD rgb);
BYTE GetGValue(DWORD rgb);
BYTE GetBValue(DWORD rgb);

其中DWORD为Double Word,每一个word为2个字节长度,DWORD双字即为4字节,32位。



<4>实现

实现就非常简单了
void C颜色对话框1Dlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
COLORREF color = RGB(255, 0, 0);
CColorDialog colorDlg(color);
if (IDOK == colorDlg.DoModal())
{
color = colorDlg.GetColor();
SetDlgItemInt(IDC_COLOR_EDIT, color);
SetDlgItemInt(IDC_R_EDIT, GetRValue(color));
SetDlgItemInt(IDC_B_EDIT, GetBValue(color));
SetDlgItemInt(IDC_G_EDIT, GetGValue(color));
}
}




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: