Kopiowanie gałęzi TTreeView

0

Witam,

Mam problem z kopiowaniem wybranej przeze mnie jednej gałezi w raz z jej "dziecmi" z TreeView1 do TreeView2 już próbowałem wszystkiego od TTreeView2.Items.Assign(TTreView1.Items[i]) które nie działa przez pętle, rekurencję itp. Ale widocznie coś namieszałem po drodze. Czy ktoś z forumowiczów mógłby mi pomóc z rozwiązaniem tego problemu?Moze jakis kod?

Pozdrawiam

0

Na szybko napisalem coś takiego (t1 - drzewo źródłowe, t2 - docelowe):

procedure TForm1.Button1Click(Sender: TObject);
var
l1,l2,i,i1,i2,r:integer;
begin
l1:=t1.Selected.Level;
i1:=t1.Selected.AbsoluteIndex;
i2:=t2.Items.AddChild(t2.Selected,t1.Selected.Text).AbsoluteIndex;
l2:=t2.Items[i2].Level;
r:=i1-i2;
if t1.Selected.AbsoluteIndex<t1.Items.Count-1 then
   t1.Selected.GetNext.Selected:=true;
for i:=t1.Selected.AbsoluteIndex to t1.Items.Count-1 do
   begin
      if t1.Selected.Level>l1 then
         t2.Items.AddChild(t2.Items[t1.Selected.Parent.absoluteindex-r],t1.Selected.Text)
      else
         exit;
      if t1.Selected.AbsoluteIndex<t1.Items.Count-1 then
         t1.Selected.GetNext.Selected:=true;
   end;
end;

Gdyby coś nie działało to daj znać

1 użytkowników online, w tym zalogowanych: 0, gości: 1