其实很简单,使用MFC现有的类CColorDialog 即可实现
核心代码如下:
1 void CCColorDialogView::OnGraphSetting() 2 { 3 CColorDialog m_setClrDlg; 4 m_setClrDlg.m_cc.Flags |= CC_FULLOPEN|CC_RGBINIT; // CC_RGBINIT可以让上次选择的颜色作为初始颜色显示出来 5 m_setClrDlg.m_cc.rgbResult = m_clr; //记录上次选择的颜色 6 if(IDOK ==m_setClrDlg.DoModal()) 7 { 8 m_clr = m_setClrDlg.m_cc.rgbResult; // 保存用户选择的颜色 9 } 10 }
效果如下所示:

CC_RGBINIT:让对话框默认使用由rgbResult成员指定的颜色,
m_setClrDlg.m_cc.rgbResult = m_clr;即初始默认色由m_clr指定。
如果CC_RGBINIT未被设置,初始颜色是黑色。
CC_FULLOPEN作用是使颜色选框全部显示。
本文介绍如何使用MFC中的CColorDialog类创建颜色选择对话框,并通过设置对话框标志来增强用户体验,如使用CC_RGBINIT让对话框记住并显示上次选择的颜色。

3566

被折叠的 条评论
为什么被折叠?



