Здравствуйте, Аноним, Вы писали:
А>Требуется определить, находится ли указаный айтем в видимой области. Для Виста+ есть ListView_IsItemVisible, а как это правильно сделать в ХР?
Можно попробовать через LVM_FINDITEM с флагом LVFI_NEARESTXY. Найти два итема, верхний левый и нижний правый. Все кто между ними — видимые. Сам не делал, просто идея такая.
А вообще ещё вроде было какое-то сообщение, получить первый видимый итем.
Re[2]: Определить видимость айтема ListView
От:
Аноним
Дата:
15.01.11 14:56
Оценка:
Здравствуйте, CEMb, Вы писали:
CEM>Здравствуйте, Аноним, Вы писали:
А>>Требуется определить, находится ли указаный айтем в видимой области. Для Виста+ есть ListView_IsItemVisible, а как это правильно сделать в ХР?
CEM>Можно попробовать через LVM_FINDITEM с флагом LVFI_NEARESTXY. Найти два итема, верхний левый и нижний правый. Все кто между ними — видимые. Сам не делал, просто идея такая.
У меня стиль, LV_VIEW_DETAILS — LVFI_NEARESTXY для него не поддерживается.
CEM>А вообще ещё вроде было какое-то сообщение, получить первый видимый итем.
ListView_GetTopIndex. Вот еслиб было еще сообщение для получения последнего
Здравствуйте, <Аноним>, Вы писали:
А>Требуется определить, находится ли указаный айтем в видимой области. Для Виста+ есть ListView_IsItemVisible, а как это правильно сделать в ХР?
На правах идеи: LVM_GETITEMPOSITION + LVM_GETITEMRECT + GetWindowRect()/GetClientRect() скомбинировать не выйдет?
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]
А>Требуется определить, находится ли указаный айтем в видимой области. Для Виста+ есть ListView_IsItemVisible, а как это правильно сделать в ХР?
ListView_GetTopIndex
ListView_GetCountPerPage
Чем больше нас, тем меньше их...
Re[2]: Определить видимость айтема ListView
От:
Аноним
Дата:
16.01.11 01:46
Оценка:
Здравствуйте, MegaVoltik, Вы писали:
А>>Требуется определить, находится ли указаный айтем в видимой области. Для Виста+ есть ListView_IsItemVisible, а как это правильно сделать в ХР?
MV>ListView_GetTopIndex MV>ListView_GetCountPerPage
В режиме группировки, GetTopIndex всегда 0, а GetCountPerPage не учитывает наличие заголовков групп в видимой области.