將數據寫入到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來顯示