您的位置:首页 > 其它

VC中给列表控件CListCtrl添加复选框

2012-07-23 17:08 239 查看
目的:使列表框(CListCtrl)的每个项(item)前面有个复选,用来标明是否选中,提交数据是只选择选中的

方法:为列表框(CListCtrl)多加一个LVS_EX_CHECKBOXES风格

 m_list.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT|LVS_EX_CHECKBOXES);

 添加的项(即“行”)的第一列总会在项目名前出现一个复选框(添加项后才能看到复选框)

 m_list.InsertColumn(0,"选取",LVCFMT_LEFT,50);        //添加列标题

 m_list.InsertColumn(1,"1",LVCFMT_LEFT,50);

 m_list.InsertColumn(2,"2",LVCFMT_LEFT,50);

 m_list.InsertColumn(3,"3",LVCFMT_LEFT,50);

 m_list.InsertItem(0,"");   //添加项(即行标题)

 m_list.InsertItem(1,"");

 

 m_list.SetItemText(0,1,"sdf");

 m_list.SetItemText(1,0,"sdf");  //设置项的各列数据时也可更改行标题,即行的第一列的文字

 m_list.SetItemText(1,1,"sdf");

 m_list.SetItemText(1,2,"sdf");

 m_list.SetItemText(1,3,"sdf");

/**********************************************************************************

也可以使用以下方法设置数据

  m_list.SetBkColor(RGB(255,255,255));     //设置背景

   m_list.SetTextBkColor(RGB(255,255,255));  

 

   //设置list对话框的列   

   LV_COLUMN   lvc;  

   lvc.mask=LVCF_TEXT|LVCF_SUBITEM|LVCF_WIDTH|LVCF_FMT;  

   lvc.fmt=LVCFMT_LEFT;  

   

   lvc.iSubItem=0;  

  lvc.pszText=_T("A");  

   lvc.cx=50;  

   m_list.InsertColumn(1,&lvc);  

   

   lvc.iSubItem=1;  

   lvc.pszText=_T("B");  

   lvc.cx=50;  

   m_list.InsertColumn(2,&lvc);

判定是否选项中:

int nItem; //列表控制项的索引

if(TURE == GetCheck(nItem));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  list