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