转 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,"子数据");
.........
}
如图:
![转 <wbr>CListCtrl::InsertColumn、InsertItem、SetItemText;](http://p.blog.csdn.net/images/p_blog_csdn_net/firefox1/1.bmp)
而行的增加是采用InsertItem,有多列时,每行的后面数据才采用setItemText来显示