![]() |
VCL: Drag&Drop auf TreeView - nicht auf TreeNode!
Hallo liebe Forengemeinde,
ich möchte gerne ein Drag&Drop auf einen TreeView realisieren, dabei soll aber kein spezifischer Knoten des TreeViews als Ziel angezeigt werden, sondern nur der TreeView selbst. Leider wird während des Draggens beim Fahren mit der Maus über das TreeView immer der TreeNode in der aktuellen Zeile selektiert. Kann man das irgendwie beeinflussen? |
AW: VCL: Drag&Drop auf TreeView - nicht auf TreeNode!
Du könntest eventuell auslesen, welcher Node sich unter X und Y befindet und dann reagieren, wenn sich keiner dort befindet.
Delphi-Quellcode:
Das Selektierungsproblem kann man vielleicht so lösen. Getestet habe ich es nicht
procedure TForm1.TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer);
var Node: TTreeNode; begin Node := TTreeView(Sender).GetNodeAt(X, Y); if Node = nil then begin end; end;
Delphi-Quellcode:
Oder vielleicht im TreeView1 MouseMove abfragen, ob TreeView1.Dragging True ist und wenn ja, dann das Selektieren von Nodes nicht zulassen.
procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer);
var Node: TTreeNode; begin Node := TTreeView(Sender).GetNodeAt(X, Y); if Node = nil then Node.Selected := False; end; |
AW: VCL: Drag&Drop auf TreeView - nicht auf TreeNode!
Wirklich selektiert wird es nicht, es ist mehr so eine grafische Spielerei.
Das einfachste wäre, das TreeView auf ein Panel2 auf ein Panel1 zu packen. Bei Start des DnD wird Panel2 deaktiviert und am Ende wieder aktiviert. Panel1 nimmt die DnD-Operation an. |
AW: VCL: Drag&Drop auf TreeView - nicht auf TreeNode!
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz