65.9K
CodeProject 正在变化。 阅读更多。
Home

颜色对话框控件集

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.75/5 (10投票s)

2002年4月17日

viewsIcon

52951

downloadIcon

700

三个控件允许您创建自己的颜色对话框

用法

演示项目包含三个控件,分别是 CLumChooserCHusSatChooserCColorBox

要使用这些控件,您可以简单地将自定义控件添加到您的对话框模板中,并指定正确的窗口类名(在 CtrlSetting.h 中声明)。

然后,您需要在对话框实现文件中添加一些代码。

  1. DoDataExchange 中添加必要的 DDX_Control
    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. 添加必要的宏和例程来处理子通知
    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 );
    

如果有任何错误或内存泄漏,请告诉我。

玩得开心。

© . All rights reserved.