![]() |
VirtualTreeView auf bestimmten Node zugreifen
Hi,
und meine nächste Frage zum VirtualTreeView von Mike Lischke, gibt es eine möglichkeit auf einen Bestimmten Node zuzugreifen, wenn Index und Column bekannt ist. (Spaltenansicht) Ich will in meiner Tabelle die 5 Zeile selektieren, also wäre der Index '4' und Column wäre quasi 0 - Spaltenanzahl. Bisher habe ich es nur so gelöst in dem ich mir per GetFirstNoInit den ersten Node hole und dann solange weiter laufe bis ich zum gewünschten Node komme, gibt es da nix einfacheres wie bei TListView !? Da geht ja auch "ListView.Items[Index].Selected := True" bzw. beim ListView kann man ja generell über den Index auf den Inhalt zugreifen bei dem VirtualTreeView habe ich bisher nichts vergleichbares gefunden. mfg TUX |
Re: VirtualTreeView auf bestimmten Node zugreifen
So gehts:
Delphi-Quellcode:
Dann deklarierst Du noch (am besten public):
procedure Form1.VTISTMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var myHit: THitInfo; begin VTIST.GetHitTestInfoAt(x,y,true,myHit); if hiOnitem in myHit.HitPositions then begin mySelNode:=myHit.HitNode; if Assigned(mySelNode) then mySelData:=VTIST.GetNodeData(mySelNode); end; end;
Delphi-Quellcode:
Und in mySelData stehen dann Deine Daten, die Du dann z.B. im OnClick des VST auswerten kannst.
mySelNode: PVirtualNode;
mySelData: PIrgendwas (also Deinen Datentyp) Gruß Igotcha |
Re: VirtualTreeView auf bestimmten Node zugreifen
ich glaube nicht das das geht, denn was ist der 5. node?
das ist doch abhängig von der derzeitigen sortierung. dann stellt sich noch die frage wenn es der 5. sein soll werden childnodes mitgezählt oder nicht? der vst arbeitet viel mit zeigern. du kannst die nodes durchiterieren. node.getfirstchild / node.nextsilbing |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:44 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