转 CListCtrl::InsertColumn、InsertItem、SetItemText;

将数据写入到CListCtrl
  向CListCtrl中写入数据,一般使用3个成员方法:
  CListCtrl::InsertColumn;
  CListCtrl::InsertItem;
  CListCtrl::SetItemText;
  InsertColumn被用于向显示列表中插入显示的列,例如:
   list.InsertColumn(0,"主项",LVCFMT_LEFT, 80);
   list.InsertColumn(1,"子项", LVCFMT_LEFT, 50);
  以上代码的目的是向列表中插入两个显示列,第一列标题为"主项",对齐方式为左对齐,宽度为80;第二列标题为"子项",对齐方式为左对齐,宽度为50。
  注意: CListCtrl在显示为Report样式时,主项为第一项,后面紧跟着的为子项。主项和子项的数据写入不同,这将在后面提到。
  InsertItem被用于向显示列表中插入主项数据,SetItemText被用于向列表中的子项写入数据,例如:
  list.InsertItem(0,"主数据");
  插入数据"主数据"到第一行的主项
  list.SetItemText(0,1,"子数据");
  将第一行的子项数据设置为"子数据"
  其完整的代码为:
  
  BOOL CTestDlg::OnInitDialog(){
   CDialog::OnInitDialog();
   .........
   list.InsertColumn(0,"主项",LVCFMT_LEFT, 80);
   list.InsertColumn(1,"子项", LVCFMT_LEFT, 50);
   list.InsertItem(0,"主数据");
   list.SetItemText(0,1,"子数据");
   .........
  }
  如图:

 
 
 
 
 
也就是说InsertItem是向控件申请一行来放数据,记住只是申请,(但是可以完成第一列数据的放置)那么放数据的工作就又SETITEMTEXT来实现
 
列的增加是初始化时采用InsertColumn
而行的增加是采用InsertItem,有多列时,每行的后面数据才采用setItemText来显示
原文地址:https://www.cnblogs.com/thefirstfeeling/p/5724793.html