MFC调色板用法

CColorDialog dlg;

dlg.m_cc.Flags|=CC_RGBINIT|CC_FULLOPEN;

if(IDOK==dlg.DoModal())

{

    m_clr=dlg.m_cc.rgbResult;    //将dlg.m_cc.rgbResult获取到的颜色对话框中的颜色保存到变量m_clr中

}

第二行中,m_cc是CColorDialog的一个结构体成员,主要是对这个颜色对话框的各种属性进行设置,Flags是m_cc结构体的一个成员,它把后面的两个属性相与再赋值给它,也就是这个颜色对话框的属性多了两个,一个是CC_RGBINIT,就是在生成颜色对话框的时候将选定的颜色设为rgbResult的值,而我们就是通过调用rgbResult来获取用户所选择的颜色的,另一个是CC_FULLOPEN,就是把对话框全部展开,我们知道,一般颜色对话框自定义部分是收起来的,这个就是把自定义部分全部展开,

MFC为我们提供了一个封装的颜色对话框的类,我们只要定义一个CColorDialog类的对象,就可以通过这个对象调用DoModa了()来打开这个颜色对话框了,然后通过调用CColorDialog的一个结构体成员m_cc的一个成员rgbResult来获取选定的颜色值,再将这个值保存在我们设定的一个变量中,然后我们就可以利用这个变量来改变颜色了,改变画刷画笔的颜色、

你可能感兴趣的:(MFC调色板用法)