我在将项目添加到ListView控件时遇到问题。当我尝试将项目添加到ListView时,没有任何反应。我之前使用过这段代码,但它没有用。
我有3列,SubItem值设置为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 :(得分:9)
来自MSDN:
您不能使用ListView_InsertItem或LVM_INSERTITEM来插入子项。 LVITEM结构的iSubItem成员必须为零。有关设置子项的信息,请参阅LVM_SETITEM。
在使用ListView_SetItem()
添加第一列(子项0)后,尝试使用ListView_InsertItem()
作为辅助列(子项1和子项2)。
答案 1 :(得分:1)
您是否致电ListView_InsertColumn
(link)?在您执行此操作之前,列将不会以“详细信息”模式(圆柱状)显示在ListView中。因此,如果您没有添加任何列,则不会看到任何内容。 (无论你是否使用标题)
答案 2 :(得分: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"));