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 VirtualTreeView.OnClick nicht beim Expand/Collapse (https://www.delphipraxis.net/190983-virtualtreeview-onclick-nicht-beim-expand-collapse.html)

Jens Hartmann 25. Nov 2016 20:25

VirtualTreeView.OnClick nicht beim Expand/Collapse
 
Hallo zusammen,

ich hätte da gerne mal wieder ein Problem mit dem VirtualTreeView. Beim Selktieren der Nodes frage ich Daten ab. Dies soll immer dann passieren, wenn ich ein Node (oder Child) anklicke. Wenn ich allerdings jetzt über das "+" oder "-" die Childs öffne oder schliesse, soll das ganze nicht passieren.

Jetzt habe ich das erst wie folgt versucht:

Delphi-Quellcode:
  if ActivNode = vst.FocusedNode then Exit;
Das ganze funktioniert auch ganz gut, allerdings, wenn ich ein Node selektiert habe und möchte einen Refresh der Daten ausführen, müsste ich das selbe Node nochmal anklicken. Dies geht aber ja nicht, da ja die Abfrage auf
Delphi-Quellcode:
ActivNode
existiert. Also muss ich einmal ein anderes Node anklicken, sodass diese Daten geladen werden und anschließend wieder das tatsächlich gewünscht. Das ist natürlich ziemlich unglücklich.

Jetzt würde ich gerne daher nicht auf
Delphi-Quellcode:
ActivNode
prüfen, sondern auf
Delphi-Quellcode:
Expand
oder
Delphi-Quellcode:
Collapse
. Da finde ich allerdings irgendwie keine Lösung.

Danke schon mal...

Gruß Jens

Aviator 25. Nov 2016 21:23

AW: VirtualTreeView.OnClick nicht beim Expand/Collapse
 
Ich würde das Einlesen der Daten über OnNodeClick machen. Dort bekommst du einen HitInfo Parameter in dem es eine Property HitPosition gibt. Damit kannst du i.d.R. alles erschlagen. Voraussetzung ist natürlich, dann du das Einlesen nur per Click auf die Node machen willst und nicht auch wenn du z.B. mit den Pfeiltasten auf der Tastatur die Node wechselst.

Jens Hartmann 25. Nov 2016 21:58

AW: VirtualTreeView.OnClick nicht beim Expand/Collapse
 
Danke, das funzt...

Lösung
Delphi-Quellcode:
    if hiOnItemButton in HitInfo.HitPositions then Exit;

Aviator 25. Nov 2016 22:00

AW: VirtualTreeView.OnClick nicht beim Expand/Collapse
 
Zitat:

Zitat von Jens Hartmann (Beitrag 1354719)
Danke, das funzt...

Immer wieder gerne. :thumb:

VirtualTreeView ist schon seit Jahren meine Lieblingskomponente. :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:58 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