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.
- 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);
- 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.