MFC 颜色对话框

<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));
	}
}



  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值