AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

VirtualStringTree mousedown

Ein Thema von yogie · begonnen am 17. Apr 2019 · letzter Beitrag vom 17. Apr 2019
Antwort Antwort
yogie

Registriert seit: 11. Sep 2003
Ort: bei Goslar
212 Beiträge
 
Delphi 6 Professional
 
#1

VirtualStringTree mousedown

  Alt 17. Apr 2019, 08:18
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.
Kompatibilität ist ein Euphemismus für n i c h t einhunderprozentige Austauschbarkeit
http://b-und-l-service.de/
  Mit Zitat antworten Zitat
Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
418 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: VirtualStringTree mousedown

  Alt 17. Apr 2019, 08:29
Genau diese Funktion gibt es. Sie nennt sich "GetNodeAt(X,Y)".
  Mit Zitat antworten Zitat
yogie

Registriert seit: 11. Sep 2003
Ort: bei Goslar
212 Beiträge
 
Delphi 6 Professional
 
#3

AW: VirtualStringTree mousedown

  Alt 17. Apr 2019, 08:36
.. danke.
ich war einen Schritt zu weit und wollte gleich die Daten haben
und nicht erst den node!
Kompatibilität ist ein Euphemismus für n i c h t einhunderprozentige Austauschbarkeit
http://b-und-l-service.de/
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
750 Beiträge
 
#4

AW: VirtualStringTree mousedown

  Alt 17. Apr 2019, 08:51
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;
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 09:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf