VC++之列表控件(CListCtrl)中加入複選框

 

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章