Главная страница
    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.45 MB
Время: 0.011 c
2-1144535831
iyshnik
2006-04-09 02:37
2006.04.23
Относительный путь


4-1138723860
Beduir
2006-01-31 19:11
2006.04.23
Как отловить событие изменения элемента в ListView


1-1142447074
Zoom
2006-03-15 21:24
2006.04.23
Модуль для работы с большими числами


2-1144392986
Bryak
2006-04-07 10:56
2006.04.23
progressBar!


1-1142613658
on-lite
2006-03-17 19:40
2006.04.23
Включение ScrollLock





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский