其實很簡單,使用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 }
效果如下所示: