Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.23;
Скачать: CL | DM;

Вниз

Можно ли скреститьTreeView с Fields Editor   Найти похожие ветки 

 
Anarki ©   (2005-10-26 01:16) [0]

Доброго времени суток, мастера!
Хочу чтобы св-ва объектов, прилинкованных к узлам дерева, редактировались в инспекторе объектов типа как сделано в fields editor. Объекты могут быть порождены от одного класса.
Возможно ли это? Советуют использовать коллекции, но как я понимаю с помощью коллекций нельзя сделать иерархическую структуру как у дерева. Если я ошибаюсь, подскажите, пожалуйста, как.


 
Юрий Зотов ©   (2005-10-26 03:06) [1]

> Хочу чтобы св-ва объектов, прилинкованных к узлам дерева,
> редактировались в инспекторе объектов

1. Прилинкованный к узлу объект должен быть потомком TPersistent и у него должен быть замещен метод AssignTo.

2. Пишете свой класс узла (потомок TTreeNode). В конструкторе создаете прилинкованный объект, в деструкторе уничтожаете его (ссылка на объект хранится в приватном поле). Вводите published-свойство, дающее доступ к прилинкованному объекту (по чтению - напрямую к полю, по записи - через метод Set, в котором вызывается Assign).

3. В дереве замещаете метод CreateNode (или используете событие OnCreateNodeClass), чтобы создавались узлы Вашего класса.

> с помощью коллекций нельзя сделать иерархическую структуру

Ничто не мешает элементу коллекции содержать published-свойство, ссылающееся на такую же (или другую) коллекцию. Получим дерево.



Страницы: 1 вся ветка

Текущий архив: 2006.04.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.031 c
15-1143797930
Kolan
2006-03-31 13:38
2006.04.23
Пример из книги не соответствует действительности.


5-1130223241
Чапаев
2005-10-25 10:54
2006.04.23
Странность в Delphi 2005


3-1141100337
Vladimir M
2006-02-28 07:18
2006.04.23
Как передать массив данных в параметр SQL запроса


1-1142524876
oleg_
2006-03-16 19:01
2006.04.23
Если parent у checkboxa не форма а stringgrid, то он не кликается


15-1143738356
Кручен-Верчен
2006-03-30 21:05
2006.04.23
На кого пойти учиться?