mfc对话框程序,假如有50个CHECK box 控件,如何统一管理她们的click事件?ON_BN_CLICKED(IDC_CHECK1, &CAutoZFDlg::OnBnClickedCheck)
ON_BN_CLICKED(IDC_CHECK2, &CAutoZFDlg::OnBnClickedCheck)
....
ON_BN_CLICKED(IDC_CHECK49, &CAutoZFDlg::OnBnClickedCheck)
ON_BN_CLICKED(IDC_CHECK50, &CAutoZFDlg::OnBnClickedCheck)
如何在OnBnClickedCheck中,知道是哪个控件发来的消息呢? 谢谢 

解决方案 »

  1.   

    用Group控件把他们组成组,这样点击就会有一个索引值返回
      

  2.   

    属性勾上Notify
    afx_msg void OnButtonClicked(UINT nID);ON_CONTROL_RANGE(BN_CLICKED, IDC_CHECK1, IDC_CHECK2, &CXXDlg::OnButtonCliecked)void CXXDlg::OnButtonClicked(UINT nID)
    {
     CString str;
     str.Format(_T("index: %d"), nID - IDC_CHECK1);
     AfxMessageBox(str);
    }