其实很简单,使用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 }
效果如下所示: