VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 1255|回复: 3

[交流] VC中给列表控件CListCtrl添加复选框

[复制链接]
49_avatar_middle
最佳答案
0 
在线会员 发表于 2016-4-3 14:13:52 | 显示全部楼层 |阅读模式
目的:使列表框(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));




上一篇:MFC对话框的窗口实现 窗口分割
下一篇:dll劫持源碼 自動生成
51_avatar_middle
最佳答案
83 
online_admins 发表于 2016-4-5 22:16:04 | 显示全部楼层
笔记做的真心不错,我也留个记号VC中给列表控件CListCtrl添加复选框
49_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2016-4-6 14:00:28 | 显示全部楼层
Syc 发表于 2016-4-5 22:16
笔记做的真心不错,我也留个记号

谢谢老大 !!!
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2021-1-17 05:36

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表