2010-07-10 164 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"));