// Ein
Pfad in einem TDirectoryOutline wird ab einem bestimmten function zaehlen(s: string): integer;
var x: integer;
begin
result := 0;
for x := 1 to length(s) do
if s[x] <> #9 then break
else inc(result);
end;
procedure aufklappen(dol: TDirectoryOutline; idx: integer);
var i: integer;
s: string;
begin
screen.cursor := crhourglass;
with dol do begin
i := SelectedItem;
items[i].collapse;
s := stringofchar(#9, zaehlen(lines[i - 1]) + 1);
items[i].expand;
inc(i);
while i < itemcount do begin
if ansipos(s, lines[i]) <> 1 then break;
inc(i);
items[i].expand;
end;
end;
screen.cursor := crdefault;
end;
// Beispielaufruf: Der selektierte Ordner wird expandierd
procedure TForm1.Button5Click(Sender: TObject);
begin
aufklappen(DirectoryOutline1, DirectoryOutline1.SelectedItem);
end;
|





