Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Herausfinden wie viele Panels auf einen Panel liegen

  Alt 30. Mär 2006, 14:12
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
  Mit Zitat antworten Zitat