Color Dialog Control Set

Environment: VC6 SP4 (with newest platform SDK for GDI+)

There are three controls included with the demo project, which are CLumChooser, CHusSatChooser and CColorBox.

To make use of these controls, you can simply add a custom control to your dialog template and specific the correct Windows class name (which is declared inside CtrlSetting.h)

You are then required to add code to your dialog implementation file:

1) Add necessary DDX_Control to DoDataExchange

  DDX_Control(pDX, IDC_COLORBOX1, m_box[0]);
  DDX_Control(pDX, IDC_COLORBOX2, m_box[1]);
  DDX_Control(pDX, IDC_COLORBOX3, m_box[2]);
  DDX_Control(pDX, IDC_COLORBOX4, m_box[3]);
  DDX_Control(pDX, IDC_LUMCHOOSER, m_LumChooser);
  DDX_Control(pDX, IDC_HUESAT, m_HueSatChooser);

2) Add necessare Macros and routines to handle child notification

ON_NOTIFY(CHueSatChooser::NM_COLORCHANGE, 
          IDC_HUESAT, 
          OnHueSatChange)
ON_NOTIFY(CLumChooser::NM_COLORCHANGE,
          IDC_LUMCHOOSER, 
          OnLumChange)
ON_NOTIFY(CColorBox::NM_BOXCLICK,
          IDC_COLORBOX1, 
          OnColorBoxClick)
ON_NOTIFY(CColorBox::NM_BOXCLICK,
          IDC_COLORBOX2, 
          OnColorBoxClick)
ON_NOTIFY(CColorBox::NM_BOXCLICK,
          IDC_COLORBOX3, 
          OnColorBoxClick)
ON_NOTIFY(CColorBox::NM_BOXCLICK,
          IDC_COLORBOX4,
          OnColorBoxClick)

afx_msg void OnHueSatChange(NMHDR * pNotifyStruct,
                            LRESULT * result );
afx_msg void OnLumChange(NMHDR * pNotifyStruct,
                         LRESULT * result );
afx_msg void OnColorBoxClick(NMHDR * pNotifyStruct,
                             LRESULT * result );

If there is any kind of bugs or memory leaks, please let me know.

Have fun.

Downloads

Download demo project - 23 Kb