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

More by Author

Must Read