Zitat von
marabu:
Hallo Dennis,
Eigentümer (Owner - Components) aller Panels ist in der Regel die Form und dann findest du die Panels nicht im Components-Array eines Panels. Für die visuelle Hierarchie (Parent - Controls) ist das Controls-Array zuständig. Und da gibt es auch Rekursion - Panels, die auf Panels liegen, welche auf einem Panel liegen.
Delphi-Quellcode:
procedure GetControls(wc: TWinControl; s: TStrings);
var
i: Integer;
begin
s.AddObject(wc.Name, wc);
for i := 0 to Pred(wc.ControlCount) do
if wc.Controls[i] is wc.ClassType then
GetControls(TWinControl(wc.Controls[i]), s);
end;
Freundliche Grüße vom marabu
Hmm, da bekomm ich eine Zugriffsverletzung in der Zeile "s.AddObject(wc.Name, wc);". Was nun?