2010-07-10 19 views
5

Ho problemi ad aggiungere elementi a un controllo ListView. Quando provo ad aggiungere elementi al mio ListView, non succede nulla. Stavo usando questo codice prima, e non ha funzionato.Aggiunta di elementi a un controllo ListView?

Ho 3 colonne, con i valori di elemento secondario impostato a 1, 2, e 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); 

risposta

0

Hai chiamato ListView_InsertColumn (link)? Una colonna non verrà visualizzata in una ListView in modalità "dettagli" (quella con colonne) finché non lo farai. Pertanto, se non hai aggiunto nessuna colonna, non vedrai nulla. (Indipendentemente se si sta utilizzando le intestazioni o no)

+0

avevo già aggiunto la colonna, ma per qualche ragione, nulla è stato rivelando. Ad ogni modo, il codice si è in qualche modo riparato. –

8

Da MSDN:

Non è possibile utilizzare ListView_InsertItem o LVM_INSERTITEM per inserire elementi secondari. Il membro iSubItem della struttura LVITEM deve essere zero. Vedi LVM_SETITEM per informazioni sull'impostazione di elementi secondari.

Prova utilizzando ListView_SetItem() per le colonne secondari (Voci secondarie 1 e 2) dopo l'aggiunta della prima colonna (elemento secondario 0) con ListView_InsertItem().

+0

Grazie, ha funzionato. :) –

1

ListView_SetItemText (link) deve essere utilizzato per le voci secondarie.

codice Esempio:

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