2015-10-14 2 views
1

Я новичок в использовании форм и компонентов FireMonkey в Delphi XE7. Я хотел бы добавить узел во время выполнения, расположенную после определенного узла в древовидной структуре. Например, если у меня есть дерево на картинке, я хотел бы добавить узел TreeViewItem7 в качестве ребенка в TreeViewItem1; как я могу это сделать?Как добавить узлы в FireMonkey TTreeView в определенное место?

enter image description here

+0

Смотрите также http://stackoverflow.com/questions/7507828/how-i-can-add-nodes-in-runtime-to-a-firemonkey-treeview?rq = 1 –

+0

Я пробовал это, прежде чем задал вопрос, но на самом деле это действительно не так. Я получаю ошибку «Нарушение прав доступа» здесь «Item2.Parent: = Item1; . –

+0

Для этой ошибки вам нужно показать больше кода, чем это. Например, созданы ли Item1 и Item2? –

ответ

2

В первой, вы должны найти элемент источника, по myTreeView.ItemByText или ItemByIndex или ItemByGlobalIndex функций, Selected собственности и т.д ...

Затем создайте новый элемент и добавить его в пункт источника.

Например:

var 
    NewItem: TTreeViewItem; 
    SourceItem: TTreeViewItem; 
begin 
    SourceItem := tv1.ItemByText('TreeViewItem1'); 
    if Assigned(SourceItem) then 
    begin 
     NewItem := TTreeViewItem.Create(tv1); 
     NewItem.Text := 'TreeViewItem'+IntToStr(tv1.GlobalCount+1); 
     SourceItem.InsertObject(0, NewItem); 
    end; 
end; 
+0

Спасибо, ками :) –

Смежные вопросы