2010-07-10 172 views
5

我无法将项目添加到ListView控件。当我尝试将项目添加到我的ListView时,没有任何反应。我以前使用过这个代码,但它不起作用。将项目添加到ListView?

我有3列,与子项的值设置为1,2,和3

LVITEM item; 
    item.mask = LVIF_TEXT; 
    item.cchTextMax = 6; 

    item.iSubItem = 1; 
    item.pszText = TEXT("12345"); 
    item.iItem = 0; 
    ListView_InsertItem(hListView, &item); 

    item.iSubItem = 2; // zero based index of column 
    item.pszText = TEXT("23456"); 
    ListView_InsertItem(hListView, &item); 

    item.iSubItem = 3; // zero based index of column 
    item.pszText = TEXT("34567"); 
    ListView_InsertItem(hListView, &item); 

回答

0

你打电话ListView_InsertColumnlink)?在“细节”模式下(列出的),列不会显示在ListView中,直到您完成。因此,如果你没有添加任何列,你什么也看不到。 (不论您是否正在使用标头或没有的)

+0

我已经添加了列,但由于某些原因,什么也没有显示出来。无论如何,代码以某种方式固定自己。 – 2010-07-13 04:18:13

8

MSDN

不能使用ListView_InsertItem或LVM_INSERTITEM插入子项目。 LVITEM结构的iSubItem成员必须为零。有关设置子项目的信息,请参阅LVM_SETITEM。

尝试使用ListView_SetItem()用于二次列(子项1和2)与ListView_InsertItem()将第一列(子项0)之后。

+0

谢谢,这工作。 :) – 2010-07-13 04:17:24

1

ListView_SetItemText(link)应该用于子项目。

示例代码:

ListView_SetItemText(hListView, 0, 1, TEXT("12345")); 
ListView_SetItemText(hListView, 0, 2, TEXT("23456")); 
ListView_SetItemText(hListView, 0, 3, TEXT("34567"));