Hi,
kann ja sein, dass es noch einfacher geht, aber so funktioniert es bei mir.
Delphi-Quellcode:
function function SelectNode(Pfad: AnsiString; Tv: TTreeView): boolean;
var
Sl: TStrings;
i: integer;
Node: TTreeNode;
begin
Result:= false;
Pfad:= StringReplace(Pfad,'\', #13#10, [rfReplaceAll]);
Sl:= TStringList.Create;
try
Sl.Text:= Pfad;
Node:= Tv.TopItem;
for i:= 0 to sl.Count- 1 do
begin
while Assigned(Node) do
begin
if node.Text= sl.Strings[i] then
begin
if i= sl.Count- 1 then
begin
Result:= true;
Node.Selected:= Result;
end;
break;
end;
Node:= Node.GetNextSibling;
end;
if Assigned(Node) then
Node:= Node.GetFirstChild;
end;
finally
Sl.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if SelectNode('1\2', TreeView1) then
beep;
end;