ListView_InsertItem宏 (commctrl.h)

在列表视图控件中插入新项。 可以使用此宏或显式发送 LVM_INSERTITEM 消息。

语法

int ListView_InsertItem(
         HWND     hwnd,
   const LPLVITEM pitem
);

参数

hwnd

类型:HWND

列表视图控件的句柄。

pitem

类型:const LPLVITEM

指向 LVITEM 结构的指针,该结构指定列表视图项的属性。 使用 iItem 成员指定应插入新项的从零开始的索引。 如果此值大于 listview 控件当前包含的项数,则新项将追加到列表末尾并分配正确的索引。 检查宏的返回值,以确定分配给该项的实际索引。

返回值

类型:int

如果成功,则返回新项的索引,否则返回 -1。

言论

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

如果列表视图控件设置了 LVS_EX_CHECKBOXES 样式,则会忽略 LVITEM 结构 成员 状态 位 12 到 15 位的任何值。 添加具有此样式集的项时,将始终将其设置为未选中状态。

如果列表视图控件具有 LVS_SORTASCENDINGLVS_SORTDESCENDING 窗口样式,如果尝试插入LPSTR_TEXTCALLBACK作为其 LVITEM 结构的 pszText 成员的项目,则 LVM_INSERTITEM 消息将失败。

如果满足以下条件,ListView_InsertItem 宏将新项插入排序顺序中的正确位置:

  • 你使用的是其中一种LVS_SORTXXX样式。
  • 未使用LVS_OWNERDRAW样式。
  • pitem 指向的结构 pszText 成员未设置为LPSTR_TEXTCALLBACK。

要求

要求 价值
最低支持的客户端 Windows Vista [仅限桌面应用]
支持的最低服务器 Windows Server 2003 [仅限桌面应用]
目标平台 窗户
标头 commctrl.h