У меня есть ListView, где мне нужно выполнять операции с несколькими выбранными строками. Я начинаю перебирать выбранные строки, используя ListView_GetNextItem(hLV, -1, LVNI_SELECTED | LVNI_PREVIOUS)
. Однако при отладке возвращается индекс первой выбранной строки, а не последней. Это то же самое, когда используется только флаг LVNI_PREVIOUS
.
В документации MS указано:
Windows Vista и более поздние версии: поиск элемента, который стоит перед элементом, указанным в wParam. Флаг LVNI_PREVIOUS не является направленным (LVNI_ABOVE найдет элемент, расположенный выше, а LVNI_PREVIOUS найдет элемент, заказанный ранее). Флаг LVNI_PREVIOUS в основном меняет логику поиска, выполняемого LVM_GETNEXTITEM или сообщения LVM_GETNEXTITEMINDEX.
Почему LVNI_PREVIOUS
не работает описанным образом? Может быть, я использую неправильную commctrl
версию, как говорится, только для Vista и выше?
Любая помощь будет оценена, спасибо.
LVNI_PREVIOUS
. При итерации назад работает ли использование элемента ListView в качестве начального индекса вместо использования-1
? - person Remy Lebeau   schedule 11.11.2020