posts - 9,  comments - 2,  trackbacks - 0

备注:在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 阅读(2189) 评论(0)  编辑 收藏 引用 所属分类: 转载

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理