向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,“子数据”);
…
}
来源:http://www.wangchao.net.cn/bbsdetail_279114.html
也就是说InsertItem是向控件申请一行来放数据,记住只是申请,(但是可以完成第一列数据的放置)
那么放数据的工作就由SETITEMTEXT来实现
列的增加是初始化时采用InsertColumn
而行的增加是采用InsertItem,有多列时,每行的后面数据才采用setItemText来显示