Версия VirtualTreeView для Firemonkey

Кто-нибудь знает, существует ли версия популярного VirtualTreeView готовится? Кроме того, есть ли у кого-нибудь опыт переноса пользовательских элементов управления в Firemonkey и может ли он оценить, сколько работы потребуется для переноса виртуального древовидного представления в Firemonkey? Нам нужен этот элемент управления, и переход на Firemonkey возможен только в том случае, если мы сможем заставить этот элемент управления работать.

Спасибо!


person jpfollenius    schedule 15.09.2011    source источник
comment
Я уверен, что большинство крупных разработчиков наборов компонентов находятся в процессе переписывания большей части своих продуктов для FireMonkey. Вы связались с людьми из VirtualTreeView напрямую? Ссылка: soft-gems.net/index.php?option=com_contact&Itemid= 3   -  person Jerry Gagnon    schedule 15.09.2011
comment
С другой стороны, я ожидаю, что многие коммерческие разработчики оценивают рынок, прежде чем тратить много долларов. Что касается проектов с открытым исходным кодом, некоторые, вероятно, активно разрабатываются для FM, другие могут занять выжидательную позицию. Я ожидаю, что многие, если не большинство, библиотек с открытым исходным кодом нуждаются в чемпионе FireMonkey, чтобы поднять мяч и сделать FM-версию.   -  person Chris Thornton    schedule 15.09.2011
comment
Я бы не стал задерживать дыхание. Они перенесли его на Delphi.NET, но я не думаю, что будет так просто перенести его на FireMonkey. (Я единственный, кто чувствует себя глупо, печатая про горящих обезьян?)   -  person Leonardo Herrera    schedule 16.09.2011
comment
Но какова тогда альтернатива? Существуют ли какие-либо виртуальные сетки / древовидные представления, уже доступные для Firemonkey?   -  person jpfollenius    schedule 17.09.2011


Ответы (4)


Насколько я понимаю, FireMonkey настолько отличается от VCL, что потребовалась бы серьезная переработка, в основном переписывание элемента управления с нуля ... быстро просмотрел SVN кода Google, не похоже, что кто-то начал перенос на FM но есть (VCL) пакеты для XE2.

person ain    schedule 15.09.2011
comment
Это действительно будет серьезная переработка, вероятно, с нуля. FireMonkey очень отличается. FireMonkey не использует монолитные компоненты, он использует более или менее сложный набор слоев, каждый из которых может иметь свой собственный макет, цвет, градиент, ориентацию и т. д. Код компонента просто манипулирует этими слоями, обращаясь к ним по имени. Виртуальное древовидное представление можно создать с помощью TListBox с несколькими различными вложенными компонентами. Поскольку (большинство) компонентов не имеют дескриптора окна, это не выглядит огромной тратой ресурсов, как может показаться. - person Rudy Velthuis; 17.09.2011
comment
Спасибо, я принял это, так как это, кажется, общее мнение, даже если оно не очень удовлетворительно. - person jpfollenius; 19.09.2011

Альтернативы...

FireMonkey имеет собственное древовидное представление, известное как FMX.TreeView. Документация по Embarcadero довольно минимальна. Это очень примитивно по сравнению с VirtualTreeview, но пока это все, что доступно.

Если вы используете VirtualTreeview в качестве сетки, вам, возможно, придется прибегнуть к TGrid, TStringGrid или TDBGrid от Firemonkey. Реализация сетки довольно проста. Но, видимо, TDBGrid не так уж и плох. Арно Буше имеет несколько скриншотов некоторых элементов управления Firemonkey и говорит, что содержимое TDBGrid является виртуальным, и приводит пример со скриншотом.

Вполне вероятно, что сторонние разработчики компонентов, например. TMS (TAdvStringGrid), Woll2Woll (InfoPower), Berg (NextGrid5) и т. д. что-нибудь да придумают. Если окажется, что VirtualTreeview не будет портирован на FireMonkey, у одного из них будет возможность создать приемлемую альтернативу.

person lkessler    schedule 22.09.2011
comment
Спасибо за Ваш ответ! К сожалению, FMX.TreeView упускает самую важную характеристику VirtualTreeView... он не виртуальный. Похоже, что сетка поддерживает виртуальный режим с использованием событий OnGetValue, но содержит серьезные ошибки отображения (stackoverflow .com/questions/7486218/firemonkey-scrollbox-bug) - person jpfollenius; 22.09.2011

Я знаю, что на этот вопрос есть ответ.

Но ответ был правильным в какой-то момент времени.

Теперь у меня есть минимальный порт VirtualTree для Firemonkey. Посмотрите на мой форк на github https://github.com/livius2/Virtual-TreeView

Я много работаю над этим, насколько позволяет свободное время. Можете себе представить, как тяжело было начинать, ведь VCL и FMX — это действительно разные вещи.

person Livius    schedule 13.11.2018

Есть виртуальное дерево от TMS для FMX. Поддерживает Android.

person user30478    schedule 30.05.2021