Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TTreeView DragDrob ??? (https://www.delphipraxis.net/43082-ttreeview-dragdrob.html)

Bernd29bln 28. Mär 2005 20:37


TTreeView DragDrob ???
 
Hallo, :hi:

Brauch mal wieder eure Hilfe ich Möchte von TTeeView Dateien mittels DragDrob Nach TListBox Verschieben wie kan ich es machen?

Gruss Bernd :coder2:

bttb930 28. Mär 2005 21:52

Re: TTreeView DragDrob ???
 
Per OnDragOver und OnDragDrop. Mehr dazu in der OH, es gibt sicher auch Tutorials - such am besten mal.

Bernd29bln 28. Mär 2005 22:04

Re: TTreeView DragDrob ???
 
ich habe ja schon gesucht von listbox zu listbox oder treeview zuu treeview gibt es viel nur nicht wie ich von treeview zu listbox ziehe .

gruss :zwinker:

bttb930 28. Mär 2005 22:06

Re: TTreeView DragDrob ???
 
das ist aber total leicht, check am besten das tut zu "von listbox zu listbox" wenn du von listbox zu treeview willst. denn da läuft alles ähnlich ab.

Bernd29bln 29. Mär 2005 16:41

Re: TTreeView DragDrob ???[Gelöst]
 
Hallo, :hi:

also genau das selbe ist es nicht aber ich hab die lösung für alle die es interessiert.

Delphi-Quellcode:
var
Form1: TForm1;
TargetNode: TTreeNode;

implementation

{$R *.DFM} 

{Node(s) auslesen} 
Function GetNodeText(Node: TTreeNode): String;
var I: Integer;
begin
if Node.Count>0 then //Untereintrag vorhanden
begin
Result:=Node.Text+#13#10; //Node hinzufügen

For I:=0 to Node.Count-1 do //Untereinträge auslesen
Result:=Result+Node[i].text+#13#10; //Untereinträge hinzufügen
end
else //Nur Node vorhanden
Result:=Node.Text; //Node hinzufügen
end;

procedure TForm1.ListBox1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
if (Sender = treeview1) then //Von TreeView1 
Accept := True; //Drag&Drop erlauben/aktivieren
end;

procedure TForm1.ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
with listbox1 do
begin
if (TargetNode = nil) then
begin
EndDrag(False);
Exit;
end;
items.text:=items.text+GetNodeText(TargetNode); //Eintrag/Einträge in ListBox hinzufügen
//TargetNode.Delete; //Eintrag aus TreeView löschen
end;
end;

procedure TForm1.TreeView1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
TargetNode:=TreeView1.GetNodeAt(X,Y); //Node ermitteln per X,Y Koordinaten
end;
Gruss Bernd :coder:


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:35 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz