AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi VCL: Drag&Drop auf TreeView - nicht auf TreeNode!
Thema durchsuchen
Ansicht
Themen-Optionen

VCL: Drag&Drop auf TreeView - nicht auf TreeNode!

Ein Thema von FaTaLGuiLLoTiNe · begonnen am 5. Apr 2019 · letzter Beitrag vom 7. Apr 2019
Antwort Antwort
Benutzerbild von FaTaLGuiLLoTiNe
FaTaLGuiLLoTiNe

Registriert seit: 3. Jul 2004
Ort: NRW
55 Beiträge
 
Delphi XE Enterprise
 
#1

VCL: Drag&Drop auf TreeView - nicht auf TreeNode!

  Alt 5. Apr 2019, 17:01
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?
Christian
<< FaTaLGuiLLoTiNe >>
Rhinoceroses don't play games!
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#2

AW: VCL: Drag&Drop auf TreeView - nicht auf TreeNode!

  Alt 5. Apr 2019, 18:19
Du könntest eventuell auslesen, welcher Node sich unter X und Y befindet und dann reagieren, wenn sich keiner dort befindet.
Delphi-Quellcode:
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;
Das Selektierungsproblem kann man vielleicht so lösen. Getestet habe ich es nicht
Delphi-Quellcode:
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;
Oder vielleicht im TreeView1 MouseMove abfragen, ob TreeView1.Dragging True ist und wenn ja, dann das Selektieren von Nodes nicht zulassen.

Geändert von DieDolly ( 5. Apr 2019 um 18:23 Uhr)
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.049 Beiträge
 
Delphi 2009 Professional
 
#3

AW: VCL: Drag&Drop auf TreeView - nicht auf TreeNode!

  Alt 5. Apr 2019, 19:38
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.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Benutzerbild von FaTaLGuiLLoTiNe
FaTaLGuiLLoTiNe

Registriert seit: 3. Jul 2004
Ort: NRW
55 Beiträge
 
Delphi XE Enterprise
 
#4

AW: VCL: Drag&Drop auf TreeView - nicht auf TreeNode!

  Alt 7. Apr 2019, 12:44
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.
Ja, das hat den gewünschten Effekt erzielt. Danke.
Christian
<< FaTaLGuiLLoTiNe >>
Rhinoceroses don't play games!
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:45 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