| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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... |