Einzelnen Beitrag anzeigen

Andreas L.
(Gast)

n/a Beiträge
 
#6

Re: Herausfinden wie viele Panels auf einen Panel liegen

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