Проблемы с ListView - VB
Формулировка задачи:
Есть Listview(Report), созданный в VB6 (Common Controls 5)
Много записей.
Одна выделена.
Прокручиваем его так, чтоб выделенная запись была вне зоны видимости.
Выполняем любую из команд:
Проблема в том, что когда любая из них выполняется (не для выделенного, а для любого итема), то ListView делает для выделенной записи (для той кот. Selected) прокрутку в видимую область (EnsureVisible)
Т.е. когда много записей, они постоянно добавляются и изменяются, невозможно даже сделать прокрутку (все время скручивает на выделенную запись).
Я пытался лечить через API
ListViewSetSubItemText (LVM_SETITEM) для subitem частично решает проблему
А вот
LVM_SETITEM (для самого итема, т.е iSubItem=0)
LVM_SETITEMTEXTA (для самого итема, т.е iSubItem=0)
либо
LVM_INSERTITEM
всегда дает краш (для ListView созданного в конструкторе).
Че делать?
Net конечно я чуть подучил, но это VB6 проект.
Знаю, что полностью излечится, если полностью рисовать ListView через API. Но это блин пол-проекта покурочить и работа на несколько дней. Плюс всякие сортировки через API делать - повесишься.
Есть какой-нибудь способ полечить проблему на базе VB(Control-5) Listview.
Я небольшой тест-проект приложил (чтоб можно было поиграться с проблемой).
Много записей.
Одна выделена.
Прокручиваем его так, чтоб выделенная запись была вне зоны видимости.
Выполняем любую из команд:
Проблема в том, что когда любая из них выполняется (не для выделенного, а для любого итема), то ListView делает для выделенной записи (для той кот. Selected) прокрутку в видимую область (EnsureVisible)
Т.е. когда много записей, они постоянно добавляются и изменяются, невозможно даже сделать прокрутку (все время скручивает на выделенную запись).
Я пытался лечить через API
ListViewSetSubItemText (LVM_SETITEM) для subitem частично решает проблему
А вот
LVM_SETITEM (для самого итема, т.е iSubItem=0)
LVM_SETITEMTEXTA (для самого итема, т.е iSubItem=0)
либо
LVM_INSERTITEM
всегда дает краш (для ListView созданного в конструкторе).
Че делать?
Net конечно я чуть подучил, но это VB6 проект.
Знаю, что полностью излечится, если полностью рисовать ListView через API. Но это блин пол-проекта покурочить и работа на несколько дней. Плюс всякие сортировки через API делать - повесишься.
Есть какой-нибудь способ полечить проблему на базе VB(Control-5) Listview.
Я небольшой тест-проект приложил (чтоб можно было поиграться с проблемой).
Решение задачи: «Проблемы с ListView»
textual
Листинг программы
CopyMemory md, d, 8
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д