Перебор элементов ListView win32 api - PullRequest
0 голосов
/ 16 января 2019

В настоящее время у меня есть дескриптор моего списка через HWND lv = GetDlgItem(hDlg, MY_LISTVIEW)

и в настоящее время он заполнен элементами, использующими ListView_SetItemText(); Я хочу обновить каждый элемент в этом списке, основываясь на данных, которые были обновлены извне. Как бы я перебрал каждый элемент списка, учитывая мой дескриптор?

1 Ответ

0 голосов
/ 16 января 2019

ListViews используют индекс, основанный на 0, чтобы идентифицировать элементы, поэтому для итерации по элементам просто нужно получить сумму, а затем запустить цикл, который отсчитывает от 0. Например,

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