Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi VirtualStringTree mousedown (https://www.delphipraxis.net/200400-virtualstringtree-mousedown.html)

yogie 17. Apr 2019 08:18

VirtualStringTree mousedown
 
Hallo zusammen,
ich verwende VirtualStringTree und dort das event onMouseDown.
Damit bekomme ich Koordinaten X und Y geliefert.
Wie kann ich mit diesen Koordinaten die node Daten ermitteln?
(Wahrscheinlich sehe ich einfach die Lösung nicht)

Gibt es so etwas wie NodeFromPosition(x, y)?

Beim OnHeaderClick kann man mit ColumnsFromPosition(P, true) wenigstens
die Spaltennummer ermitteln.

Bbommel 17. Apr 2019 08:29

AW: VirtualStringTree mousedown
 
Genau diese Funktion gibt es. Sie nennt sich "GetNodeAt(X,Y)". :-)

yogie 17. Apr 2019 08:36

AW: VirtualStringTree mousedown
 
.. danke.
ich war einen Schritt zu weit und wollte gleich die Daten haben
und nicht erst den node!

DieDolly 17. Apr 2019 08:51

AW: VirtualStringTree mousedown
 
Du kannst nicht erst an die Daten kommen. Erst musst du über den Node und dann an die im Node hinterlegen Daten, die hoffentlich in einer TObjectList liegen. Wenn nicht das hier durchlesen Datenhaltung mit VirtualStringTree und Trennung der Businesslogik

Du musst erst wie gesagt die Koordinaten auswerten, gucken ob und welcher Node da ist und dann die Daten holen
Delphi-Quellcode:
 LNode := VST.GetNodeAt(X, Y);

 if LNode <> nil then
  begin
   LNodeData := VST.GetData<TDeineKlasseWieAuchImmerWennGenerisch>;
   
   if Assigned(LNodeData) then
    begin
     
    end;
 end;


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