Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Снова TTreeView


Автор: Ibragim 8.10.2004, 12:12
Всем день добрый.
Следующий вопрос.
Есть TMyClass1 = class (TTreeNode)
и TMyClass2 = class (TTreeNode)

нужно чтобы при создании объекта TMyClass1 ОН САМ (TMyClass1) создавал у себя Child -node типа TMyClass2

пытаюсь сделать так

constructor TMyClass1.Create(Items: TTreeNodes);
begin
Items.AddNode(TMyClass2.Create(Items),self,'Class2',nil,naAddChild);
<...>


однако при этом созданная Node получается не Child, а на том же уровне, что и родительская? Подскажите, в чем глюк?

Автор: p0s0l 8.10.2004, 18:16
В конструкторе ведь нод TMyClass1 еще не добавлен в TreeView!
Поэтому ты не можешь к нему добавить дочерних нодов.
Он просто еще висит в памяти. У него есть владелец, который ты передаёшь в параметрах, но не более.
Если ты хочешь сделать это именно через конструктор, то надо вначале добавить себя в дерево, а потом уже к себе добавлять дочерний нод...
Но тут такой вопрос - куда ты будешь добавлять ?
Поэтому, возможно, придётся в параметрах Create добавить еще пару полей для указания TreeNode, после которого будет вставлен создаваемый нод TMyClass1, и тип вставки (naAdd / naAddChild и др.). После этого уже можешь добавлять нод TMyClass2...


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)