Einzelnen Beitrag anzeigen

Benutzerbild von Gollum
Gollum

Registriert seit: 14. Jan 2003
Ort: Boxberg
456 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

Re: VirtualTreeView: Bestimmten Knoten finden

  Alt 23. Jun 2006, 10:36
Hallo,

den Knoten findest Du, indem Du alle Elemente der obersten Ebene durchläufts:
Delphi-Quellcode:
type
  PMyNodeData=^TMyNodeData;
  TMyNodeData=record
    NodeName:WideString;
    ...
  end; // TMyNodeData

function TForm1.FindeNode(const aName:String):PVirtualNode;
var n:PVirtualNode;
    d:PMyNodeData;
begin
  Result:=nil;
  n:=VirtualStringTree1.GetFirst;
  while (n<>nil) do
  begin
    d:=VirtualStringTree1.GetNodeData(n);
    if SameText(d^.NodeName, aName) then
    begin
      Result:=n;
      Break;
    end; // if
    n:=n^.NextSibling;
  end; // while
end; // TForm1.FindeNode
Aufgerufen wird das ganze dann in etwa so:
Delphi-Quellcode:
  ...
  with VirtualStringTree1 do
  begin
    FocusedNode:=FindeNode('huhu, wo bist Du?');
    if (FocusedNode<>nil) then Selected[FocusedNode]:=True;
  end; // with
  ...
  Mit Zitat antworten Zitat