[转]CCheckListBox使用

[转]CCheckListBox使用

备注:在MFC程序中使用CCheckListBox的时候, 如果使用对话框模版, 需要把列表框设置成Owner Draw, Fixed的, 最好带上has string, 这里主要是说明如何获得点击选择的消息, 选中,或者取消选中, 在察看源代码之后可以发现, 这个时候CCheckListBox会向父窗口发送一个WM_COMMAND的消息, 消息的WPARAM中低位表示的CCheckListBox的ID, 高位是CLBN_CHKCHANGE(40), 所以对于MFC程序, 重载OnCommand即可. 或者MFC提供了宏ON_CLBN_CHKCHANGE(id, memberfunc)也可以.

 

1、放置listbox控件,设置属性 Onwer Draw:Fixed,has string:True;

右键控件定义变量:CCheckListBox m_chklist;

2、listbox设置

m_chklist.SetCheckStyle(BS_CHECKBOX);
 m_chklist.AddString("浏览文件");
 m_chklist.AddString("操作数据库");
 m_chklist.AddString("前台操作");
 m_chklist.AddString("后台管理");

 

3、为控件添加双击消息

ON_LBN_DBLCLK(IDC_CHKLIST, OnDblclkChklist)

消息具体:

void CListboxChkSelDlg::OnDblclkChklist()
{
 int i=m_chklist.GetCurSel();
 if(i<0)return;
 if(m_chklist.GetCheck(i)<1)
 m_chklist.SetCheck(i,1);
 else
 m_chklist.SetCheck(i,0);
}


http://blog.sina.com.cn/s/blog_53004b490100f6ek.html

你可能感兴趣的:([转]CCheckListBox使用)