2010-07-10 24 views
5

Tengo problemas para agregar elementos a un control ListView. Cuando trato de agregar elementos a mi ListView, no pasa nada. Estaba usando este código antes, y no funcionó.¿Agregar elementos a un ListView?

tengo 3 columnas, con los valores SubItem establecido en 1, 2 y 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); 

Respuesta

0

¿Ha llamado ListView_InsertColumn (link)? Una columna no se mostrará en un ListView en el modo "detalles" (el de columnas) hasta que lo haga. Por lo tanto, si no ha agregado ninguna columna, no verá nada. (Independientemente de si usted está utilizando cabeceras o no)

+0

que ya había añadido la columna, pero por alguna razón, nada fue apareciendo. De todos modos, el código de alguna manera se solucionó. –

8

De MSDN:

No puede utilizar ListView_InsertItem o LVM_INSERTITEM para insertar subelementos. El miembro iSubItem de la estructura LVITEM debe ser cero. Consulte LVM_SETITEM para obtener información sobre cómo configurar subtemas.

Intente utilizar ListView_SetItem() para las columnas secundarias (Subelementos 1 y 2) después de la adición de la primera columna (subitem 0) con ListView_InsertItem().

+0

Gracias, eso funcionó. :) –

1

ListView_SetItemText (link) se debe utilizar para los subelementos.

código Ejemplo:

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