【问题标题】:Adding items to a ListView?将项目添加到 ListView?
【发布时间】:2015-10-12 17:22:14
【问题描述】:

我在将项目添加到 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);

【问题讨论】:

    标签: c++ listview winapi


    【解决方案1】:

    来自MSDN

    您不能使用 ListView_InsertItem 或 LVM_INSERTITEM 插入子项。 LVITEM 结构的 iSubItem 成员必须为零。有关设置子项的信息,请参阅 LVM_SETITEM。

    在使用ListView_InsertItem() 添加第一列(子项 0)后,尝试将 ListView_SetItem() 用于辅助列(子项 1 和 2)。

    【讨论】:

      【解决方案2】:

      ListView_SetItemText (link) 应该用于子项。

      示例代码:

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

      【讨论】:

        【解决方案3】:

        你给ListView_InsertColumnlink)打过电话吗?在您这样做之前,一列不会以“详细信息”模式(列式)显示在 ListView 中。因此,如果您没有添加任何列,您将看不到任何内容。 (不管你是否使用标题)

        【讨论】:

        • 我已经添加了该列,但由于某种原因,没有显示任何内容。无论如何,代码以某种方式自行修复。
        猜你喜欢
        • 2013-10-28
        • 1970-01-01
        • 1970-01-01
        • 2017-05-31
        • 2012-04-14
        • 2012-08-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多