VC++ MFC ListBox 复选框

1.把ListBox控件添加到对话框界面上,添加变量命名 m_ListFiles。

2.变量命名控件类型默认是CListBox,找到定义变量命名地方CListBox m_ListFiles,修改成CCheckListBox m_ListFiles;

3.修改ListBox控件的两处属性Owner draw设置为Fixed(LBS_OWNERDRAWFIXED),Has strings设置为True(LBS_HASSTRINGS),否则不成功,运行时报错。

 添加数据:

m_ListFiles.AddString(_T("A"));
m_ListFiles.AddString(_T("B"));

检查是否选中,0未选中,1选中

m_CheckListBox.GetCheck(nIndex);

CString strFileName;
 int iSel=m_ListFiles.GetCount();
 for(int i=0;i<iSel;i++)
 {
  int ik=m_ListFiles.GetCheck(i);
  if(m_ListFiles.GetCheck(i)==1)
  {
   m_ListFiles.GetText(i,strFileName);
  }  
  
 }

4. checkbox勾选全选,取消全选

void CFurtherConvertCutCodeView::OnClickedCheckSelectall()
{	
	// TODO: Add your control notification handler code here
	if(BST_CHECKED==!IsDlgButtonChecked(IDC_CHECK_SelectAll))
	{
	
		SelectCheckList(0);
	}
	else
	{		
		SelectCheckList(1);
	}
}
void CFurtherConvertCutCodeView::SelectCheckList(int iCheck)
{
	int iSel=m_ListFiles.GetCount();
	for(int i=0;i<iSel;i++)
	{
		m_ListFiles.SetCheck(i,iCheck);

	}
}
原文地址:https://www.cnblogs.com/ike_li/p/2824612.html