我在ClistContrl(Report)上动态的创建了多个CMFCColorButton控件,每一行都对应一个,数量不限,颜色控件可以正常显示,不过我不知道该如何得到每个颜色控件的单机事件啊? 该怎么写?
用ON_CONTROL_RANGE? ON_CONTROL_RANGE(BN_CLICKED,MS_Color, MS_Color+1000, OnCHKClicked)并没有捕获到啊?
改用什么方法?谢谢指教!

解决方案 »

  1.   

    应该响应CMFCColorButton控件的事件,既然是动态创建CMFCColorButton控件,那让这CMFCColorButton控件从CMFCColorButton类派生出一个类比较好,这样,从派生类加上响应事件就可以了
      

  2.   

    OnCommand试试,根据 wParam 判断动态控件ID,做相应响应
      

  3.   

    这种动态生成的控件,尤其数量较大时,一般在下面这里来处理的:
    BOOL XXXXXDlg::PreTranslateMessage(MSG* pMsg)
    {
    if(pMsg->message==WM_LBUTTONDOWN)
    if(pMsg->wParam==控件_ID)
            处理代码();}