MFC ListBox控件:CCheckListBox如何通知"复选框状态已更改"?

kar*_*hik 1 mfc

CCheckListBox如何通知"复选框状态已更改"?

谢谢.....

kar*_*hik 6

当用户更改CCheckListBox中的复选框状态时,未记录的MFC特定消息将发送到父窗口:CLBN_CHKCHANGE.我们可以像下面的例子一样处理这个消息:

 // MyDialog.h
 class CMyDialog : public CDialog
 {
   // ...
   afx_msg void OnCheckChangeMyList();
 };

  // MyDialog.cpp
  // ...
   ON_CONTROL(CLBN_CHKCHANGE, IDC_MY_LIST, OnCheckChangeMyList)
  END_MESSAGE_MAP()

   void CMyDialog::OnCheckChangeMyList()
  {
     // got it!
  }
Run Code Online (Sandbox Code Playgroud)

注意:我们可以直接使用ON_CLBN_CHKCHANGE宏代替ON_CONTROL.

   // ...
     ON_CLBN_CHKCHANGE(IDC_MY_LIST, OnCheckChangeMyList)
   // ...
Run Code Online (Sandbox Code Playgroud)