遍历 ListView 项目 win32 api

Iterating over ListView Items win32 api

我目前可以通过 HWND lv = GetDlgItem(hDlg, MY_LISTVIEW)

访问我的 Listview

及其当前使用 ListView_SetItemText(); 填充的项目 我想根据外部更新的数据更新该列表视图中的每个项目。我将如何遍历给定句柄的每个列表视图项目?

ListViews 使用基于 0 的索引来标识项目,因此要遍历项目,只需获取总数然后 运行 一个从 0 开始计数的循环即可。例如,

int iNumItems = ListView_GetItemCount(lv);
for (int iIndex = 0; iIndex < iNumItems; ++iIndex)
{
    // update this item
    ListView_SetItemText(lv, iIndex, 0, ...);
}