Einzelnen Beitrag anzeigen

jottel

Registriert seit: 23. Okt 2008
3 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

AW: VirtualStringTree Node anhand des Index ermitteln

  Alt 4. Jul 2013, 15:59
es ist zwar ein uralter Thread, aber mein Vorschlag wäre das Ganze mit Hilfe von
IterateSubtree und Callback zu lösen:

Delphi-Quellcode:
function TForm1.GetNodeByAbsoluteIndex(idx: integer): PVirtualNode;
begin
  // da IterateSubtree einen Pointer erwartet, den Integer
  // mittels Ptr() als Pointer behandeln
  result := VST.IterateSubtree(NIL, Callback, Ptr(idx));
end;

procedure TForm1.Callback(Sender: TBaseVirtualTree; Node: PVirtualNode;
  Data: Pointer; var Abort: boolean);
begin
  if Node <> NIL then
    Abort := Sender.AbsoluteIndex(Node) = Integer(Data);
end;
  Mit Zitat antworten Zitat