2010-07-10 18 views
5

Ich habe Probleme beim Hinzufügen von Elementen zu einem ListView-Steuerelement. Wenn ich Objekte zu meinem ListView hinzufügen möchte, passiert nichts. Ich habe diesen Code zuvor verwendet und es hat nicht funktioniert.Hinzufügen von Elementen zu einem ListView?

Ich habe 3 Spalten, mit dem SubItem Wert auf 1, 2 und 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); 

Antwort

0

Haben Sie ListView_InsertColumn (link) genannt? Eine Spalte wird nicht in einem ListView im "Details" -Modus (der Spaltenansicht) angezeigt, bis Sie dies tun. Wenn Sie also keine Spalten hinzugefügt haben, werden Sie nichts sehen. (Unabhängig davon, wenn Sie mit Kopf- oder nicht)

+0

hatte ich hinzugefügt, die bereits die Spalte, aber aus irgendeinem Grund, es wurde nichts zeigt sich. Jedenfalls hat sich der Code irgendwie selbst repariert. –

8

Von MSDN:

Sie können nicht ListView_InsertItem oder LVM_INSERTITEM verwenden Subitems einzufügen. Das iSubItem-Member der LVITEM-Struktur muss Null sein. Informationen zum Festlegen von Unterelementen finden Sie unter LVM_SETITEM.

ListView_SetItem() Versuchen für die sekundären Säulen (Unterpunkte 1 und 2) nach der Zugabe der ersten Spalte (subitem 0) mit ListView_InsertItem() verwenden.

+0

Danke, das hat funktioniert. :) –

1

ListView_SetItemText (link) sollte für Unterpositionen verwendet werden.

Beispielcode:

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