| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Проблема со скроллом в VirtualTreeView |
| Автор: estra 17.12.2009, 21:55 |
| Проблена при скрытии/отображении нодов в VirtualTreeView. К вопросу прилагаю тестовое приложение. http://www.onlinedisk.ru/file/295864/ Суть в следующем. Ключевой в этом примере является процедура FindInTree. Она выполняет рекурсивный обход дерева и скрывает узлы, не соответствующие фильтру. В примере 26 корневых узлов с названиями от A до Z, у каждого из которых случайное количество дочерних узлов. Так вот, допустим делается поиск по букве A. Все ненужные узлы скрываются, все хорошо. Восле чего снимаем фильтр (очищаем текстовое поле и ажимаем на кнопку). Мы должны увидеть все корневые узлы от A до Z, но тут то и начинается проблема. Часть нижних узлов не отображается. Если действие повторить, то скроется еще часть узлов, потом еще и еще... Почему так происходит и как от этого избавиться? Проблема с вертикальним скролом, такое ощущение что его максимальное значение неправильно высчитывается и с каждым разом уменьшается… Очень прошу помоч разобраться и решить проблему. |
| Автор: Teleport 17.12.2009, 22:25 |
| В твоем проекте какие-то косяки - я сам не понял какие, но моя Делфи отказывалась воспринимать при открытии опции Header. Я их проигнорил и заново создал событие OnGetText - так как компилятор ругался на него. Вышло все норм. Держи: |
| Автор: estra 17.12.2009, 22:31 |
| Проблема с OnGetText связана скорее всего с газными версиями компонента. У меня версия 4.8.6 и 2010 студия. странно, интересно это косяк компонента или студии… есть идеи, почему так может быть? перекомпелил твои исходники, результат хреновый, работает некорректно :( |
| Автор: Teleport 17.12.2009, 22:35 |
| У меня Делфи 2007 сейчас и VT 4.7.0. Уверен на 99.99% - косяк в VT, а не в самой среде. Мой exe работает корректно? Поставь VT 4.7.0 - погляди. |
| Автор: estra 17.12.2009, 22:41 |
| твой exe работает корректно. а версии ниже 4.8.6 на 2010 студию не ставятся… |
| Автор: Teleport 17.12.2009, 23:28 | ||
К сожалению, не могу проверить твою версию сейчас. Попробуй в конце обработчика нажатия на кнопку написать
|
| Автор: estra 18.12.2009, 09:44 | ||||
Идея хорошая, но не сработала. |
| Автор: estra 18.12.2009, 11:16 |
| Неужели никто с этим не сталкивался? Может все-таки есть такие люди… Плиз, помогите, очень нужно |
| Автор: Modesty 3.8.2012, 14:27 |
| похоже и в пятой версии проблема осталась |
| Автор: kami 3.8.2012, 18:57 |
| Версия 4.8.5 отлично ставится на D2010. В свое время остался на ней из-за именно этого глюка в более поздних версиях, таких как 4.8.6 и выше. Вы не первый, кто задает вопрос по некорректному просчету высоты канвы в 4.8.6. Говорили, что в более поздних версиях это убрано, но не проверял. |
| Автор: ZBugz 4.8.2012, 09:43 | ||
Задай им вопрос, они исправят https://code.google.com/p/virtual-treeview/issues/list |
| Автор: tarakan 8.6.2015, 12:00 |
| estra, скажите не решили проблему со скролингом? |