Einzelnen Beitrag anzeigen

lordcroc

Registriert seit: 13. Aug 2002
Ort: Braunschweig
137 Beiträge
 
Delphi 7 Professional
 
#1

Treeview Knoten verschiben incl. Data

  Alt 24. Nov 2004, 17:04
Hallo,

will in einem Treeview Knoten verschieben, was auch ganz gut klappt, das Problem ist das an jedem Knoten bei mir im Data property ein Pointer auf ein selbstdefinirten Record zeigt, und ich nicht weiss wie ich diesen mit verschiebe.

Zum verschieben benutze ich folgende Routinen.

Delphi-Quellcode:
procedure TForm1.TreeView1DragDrop(Sender, Source: TObject; X,
  Y: Integer);
var
  ToDeleteItem, DropItem, CurrentItem, NextItem: TTreeNode;
  ChildCount, Childrun: Integer;
begin
  if Sender = Source then
  begin
    DropItem := TreeView1.GetNodeAt(X, Y);
    CurrentItem := TreeView1.Selected;
    ToDeleteItem := CurrentItem;
    NextItem := TreeView1.Items.Insert(DropItem, CurrentItem.Text);
    DropItem := NextItem;
    ChildCount := TreeView1.Selected.Count;
    for Childrun := 1 to ChildCount do
    begin
      CurrentItem := TreeView1.Selected.GetFirstChild;
      NextItem := TreeView1.Items.AddChild(DropItem, CurrentItem.Text);
      TreeView1.Items.Delete(CurrentItem);
    end;
    ToDeleteItem.Delete;
  end;
end;

procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X,
  Y: Integer; State: TDragState; var Accept: Boolean);
begin
  Accept := Sender = TreeView1;
end;
mfg lordcroc
  Mit Zitat antworten Zitat