65.9K
CodeProject is changing. Read more.
Home

Color Dialog Control Set

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.75/5 (10 votes)

Apr 17, 2002

viewsIcon

52541

downloadIcon

700

Three controls let you create your own colro dialog

Usage

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 custom controls to your dialog template and specify the correct windows class names (declared inside CtrlSetting.h)

Then, you are required to add some 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 necessary 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 have any kinds of bugs or memory leaks, please let me know.

Have fun.