备注:在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
posted on 2010-11-10 14:58
Chavin 阅读(2182)
评论(0) 编辑 收藏 引用 所属分类:
转载