之前我取RGB值都是手动输入的,今天发现MFC ColorButton Control这个控件之后发现之前的做法真的是太low了。废话不多说,直接进入主题:
- 先添加一个MFC ColorButton Control控件
- 给这个控件添加变量
注意变量类型一定要是CMFCColorButton类型。
- 添加消息处理事件(点击事件)
给控件添加BN_CLICKED事件:
- 代码补全:
//设置控件上显示的RGB
//m_color.SetColor(RGB(0xff, 0xff, 0xff));
//获取控件上选择的RGB
COLORREF color = m_color.GetColor();
//将获取到的COLORREF类型分解为uchar类型
BYTE r = GetRValue(color);
BYTE g = GetGValue(color);
BYTE b = GetBValue(color);
COLORREF其实是一个unsigned long类型的变量(32-bit)。
可以分解为3个uchar类型(8-bit)。