CMFCColorButton的一个实例

来源:互联网 发布:json对象数组怎么遍历 编辑:程序博客网 时间:2024/04/27 16:42

在vs08和10中发现多了控件,MFCColorButton


添加了一个到了一个对话框,试运行一下,发现效果不错


可以选择RGB所有的颜色,可以说功能很强大了,而且自动是弹出式的,这些功能的实现都不用编写一行代码


可谓是十分方便


但悲催的是,搜索这个控件的用法,是在少之又少,


唯一一个比较有效的还是一个着重讨论改变这个控件外观的.......


查看MSDN帮助文档,满眼英文,而且讲得很少,几乎没起到什么作用


经历了一个半小时琢磨,终于自己弄出了一个很基础功能的用法


----------------------------------------------------------------------------------------------------------------------------------------------




首先,该按钮不是一个类,这是基本概念了,

设置一个变量,CMFCColorButton的实例,


1.在资源视图右击该控件

右击添加变量


2.




3.切换到类视图,在CPenDialog类中

class CPenDialog : public CDialog{//.........................................public:// 颜色选择的按钮CMFCColorButton m_ColorPicker;};
多出这一行代码 说明添加变量成功,这个
m_ColorPicker
已经关联到那个颜色选择控件了



4.在初始化对话框时初始化该控件


BOOL CPenDialog::OnInitDialog(){CDialog::OnInitDialog();// TODO:  在此添加额外的初始化m_ColorPicker.EnableAutomaticButton(_T("目前"), m_SelectedColor); //m_ColorPicker.SetColor(m_SelectedColor);    m_ColorPicker.EnableOtherButton(_T("其余颜色"));     m_ColorPicker.SetColor((COLORREF)-1);     m_ColorPicker.SetColumnsNumber(5);     return TRUE;  // return TRUE unless you set the focus to a control// 异常: OCX 属性页应返回 FALSE}


5.获取选择的颜色






在类视图中添加代码

void CPenDialog::OnBnClickedMfccolorbutton1()
{
// TODO: 在此添加控件通知处理程序代码
m_SelectedColor = m_ColorPicker.GetColor();


}


m_SelectedColor是自己声明的一个存储选取颜色的变量