现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

VC++之列表控件(CListCtrl)中加入复选框

2012-08-11 06:37 工业·编程 ⁄ 共 1110字 ⁄ 字号 评论 1 条

目的:使列表框(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);

目前有 1 条留言    访客:1 条, 博主:0 条

  1. york 2012年08月31日 3:39 下午  @回复  Δ1楼 回复

    如何捕获复选框的消息呢?

给我留言

留言无头像?