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

Вниз

Можно ли объявить новый класс вместо старого...   Найти похожие ветки 

 
Sergp ©   (2003-09-27 19:28) [0]

Может вопрос и тупой или я неясно выразился но не судите строго...В Delphi я все еще практически новичек....

Вобщем работаю с TTreeview.

Меня не устраивает класс TTreeNode. (Хочу туда кое-чего добавить)
Могу ли я объявить новый класс TTreeNode, который бы являлся наследником "старого" TTreeNode, но чтобы при этом дочерние классы старого TTreeNode стали дочерними классами новообъявленого TTreeNode. В смысле чтобы не переделывая компонент TTreeview, расширить его возможности?


 
SergP ©   (2003-09-27 22:11) [1]

Мастера! Что, никто ничего не скажет?


 
me   (2003-09-27 22:23) [2]

В D7 TV имеест событие OnCreateNodeClass,
в котором можно указать класс узла.
Есть ли это св-во в D5, я не знаю, нет его под рукой.

Посмотри в исходниках, как создаются узлы, и будет ясно,
можно ли это сделать, и как.

Если там есть фабричный метод
function CreateNode: TTreeNode; virtual;
то его можно перекрыть в наследнике TV.

Кстати, кое-что добавить ты можешь в TTreeNode.Data: Pointer,
специальное св-во под пользовательские данные.


 
SergP ©   (2003-09-28 07:37) [3]


> Кстати, кое-что добавить ты можешь в TTreeNode.Data: Pointer,
>
> специальное св-во под пользовательские данные.


Хм... А действительно в принципе вместо объявления нового класса , я могу обойтись юзанием ttreenode.data. Как-то не подумал раньше об этом.
Спасибо что напомнил...


 
HolACost! ©   (2003-09-28 09:43) [4]

Всё можно! Но немного мозгов нажод!
Для самой хорошей и правильной работы тебе налдо:
- Создать наследника от TTreeNode - И добавить туду, то что ты хочешь!
- создать наследника от ТриВью и в нем добавить набор методов для работы с новым классом TMyTreeNode!
- можно и без второго... делел!
- а для правильной работы родительских методом используй <TMyTreeNode> as TTreeNode



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
3-27404
Вероника
2003-09-18 07:42
2003.10.09
FireBird даёт ошибку. Неделю назад всё было нормально!


1-27462
Dmitriy M. Volkov
2003-09-25 18:05
2003.10.09
константы в реестре


1-27428
Triny
2003-09-28 16:52
2003.10.09
Шрифт кнопки


1-27535
Sensor-x
2003-09-30 00:06
2003.10.09
Как правильно определить время?


9-27295
VEG
2003-04-05 20:12
2003.10.09
Вот такая проблема...