Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi VirtualTreeView auf bestimmten Node zugreifen (https://www.delphipraxis.net/73044-virtualtreeview-auf-bestimmten-node-zugreifen.html)

TUX_der_Pinguin 11. Jul 2006 13:15


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

Igotcha 11. Jul 2006 13:44

Re: VirtualTreeView auf bestimmten Node zugreifen
 
So gehts:

Delphi-Quellcode:
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;
Dann deklarierst Du noch (am besten public):

Delphi-Quellcode:
mySelNode: PVirtualNode;
mySelData: PIrgendwas                  (also Deinen Datentyp)
Und in mySelData stehen dann Deine Daten, die Du dann z.B. im OnClick des VST auswerten kannst.

Gruß Igotcha

generic 11. Jul 2006 13:52

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 20:33 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