Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема со скроллом в VirtualTreeView 
:(
    Опции темы
estra
Дата 17.12.2009, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 13.10.2008

Репутация: нет
Всего: нет



Проблена при скрытии/отображении нодов в VirtualTreeView. К вопросу прилагаю тестовое приложение.
http://www.onlinedisk.ru/file/295864/
Суть в следующем. Ключевой в этом примере является процедура FindInTree. Она выполняет рекурсивный обход дерева и скрывает узлы, не соответствующие фильтру.
В примере 26 корневых узлов с названиями от A до Z, у каждого из которых случайное количество дочерних узлов.
Так вот, допустим делается поиск по букве A. Все ненужные узлы скрываются, все хорошо. Восле чего снимаем фильтр (очищаем текстовое поле и ажимаем на кнопку). Мы должны увидеть все корневые узлы от A до Z, но тут то и начинается проблема. Часть нижних узлов не отображается. Если действие повторить, то скроется еще часть узлов, потом еще и еще... Почему так происходит и как от этого избавиться? Проблема с вертикальним скролом, такое ощущение что его максимальное значение неправильно высчитывается и с каждым разом уменьшается… Очень прошу помоч разобраться и решить проблему.
PM MAIL   Вверх
Teleport
Дата 17.12.2009, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 5.7.2008
Где: Прибалтика

Репутация: 3
Всего: 6



В твоем проекте какие-то косяки - я сам не понял какие, но моя Делфи отказывалась воспринимать при открытии опции Header. Я их проигнорил и заново создал событие OnGetText - так как компилятор ругался на него. Вышло все норм. Держи:


Присоединённый файл ( Кол-во скачиваний: 26 )
Присоединённый файл  test.rar 298,11 Kb


--------------------
user posted image
user posted image 
PM MAIL   Вверх
estra
Дата 17.12.2009, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 13.10.2008

Репутация: нет
Всего: нет



Проблема с OnGetText связана скорее всего с газными версиями компонента. У меня версия 4.8.6 и 2010 студия.

странно, интересно это косяк компонента или студии… есть идеи, почему так может быть?

перекомпелил твои исходники, результат хреновый, работает некорректно :(

Это сообщение отредактировал(а) estra - 17.12.2009, 22:34
PM MAIL   Вверх
Teleport
Дата 17.12.2009, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 5.7.2008
Где: Прибалтика

Репутация: 3
Всего: 6



У меня Делфи 2007 сейчас и VT 4.7.0. Уверен на 99.99% - косяк в VT, а не в самой среде. 
Мой exe работает корректно? Поставь VT 4.7.0 - погляди.



Это сообщение отредактировал(а) Teleport - 17.12.2009, 22:40


--------------------
user posted image
user posted image 
PM MAIL   Вверх
estra
Дата 17.12.2009, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 13.10.2008

Репутация: нет
Всего: нет



твой exe работает корректно. а версии ниже 4.8.6 на 2010 студию не ставятся…
PM MAIL   Вверх
Teleport
Дата 17.12.2009, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 5.7.2008
Где: Прибалтика

Репутация: 3
Всего: 6



К сожалению, не могу проверить твою версию сейчас. Попробуй в конце обработчика нажатия на кнопку написать
Код

 VirtualStringTree1.ScrollBarOptions.ScrollBars:= ssNone;
 VirtualStringTree1.ScrollBarOptions.ScrollBars:= ssBoth;



--------------------
user posted image
user posted image 
PM MAIL   Вверх
estra
Дата 18.12.2009, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 13.10.2008

Репутация: нет
Всего: нет



Цитата(Teleport @ 17.12.2009,  23:28)
К сожалению, не могу проверить твою версию сейчас. Попробуй в конце обработчика нажатия на кнопку написать
Код

 VirtualStringTree1.ScrollBarOptions.ScrollBars:= ssNone;
 VirtualStringTree1.ScrollBarOptions.ScrollBars:= ssBoth;

Идея хорошая, но не сработала.
PM MAIL   Вверх
estra
Дата 18.12.2009, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 13.10.2008

Репутация: нет
Всего: нет



Неужели никто с этим не сталкивался? Может все-таки есть такие люди… Плиз, помогите, очень нужно  smile 
PM MAIL   Вверх
Modesty
Дата 3.8.2012, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 17.7.2012

Репутация: нет
Всего: нет



похоже и в пятой версии проблема осталась
PM MAIL   Вверх
kami
Дата 3.8.2012, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 23
Всего: 72



Версия 4.8.5 отлично ставится на D2010.
В свое время остался на ней из-за именно этого глюка в более поздних версиях, таких как 4.8.6 и выше. Вы не первый, кто задает вопрос по некорректному просчету высоты канвы в 4.8.6.
Говорили, что в более поздних версиях это убрано, но не проверял.
PM MAIL WWW   Вверх
ZBugz
Дата 4.8.2012, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: 6
Всего: 6



Цитата(Modesty @ 3.8.2012,  14:27)
похоже и в пятой версии проблема осталась

Задай им вопрос, они исправят https://code.google.com/p/virtual-treeview/issues/list
PM MAIL   Вверх
tarakan
Дата 8.6.2015, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 11.11.2008

Репутация: нет
Всего: нет



estra, скажите не решили проблему со скролингом?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0482 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.