Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Auf alle Controls eines Panels zugreifen (https://www.delphipraxis.net/63520-auf-alle-controls-eines-panels-zugreifen.html)

samjones 20. Feb 2006 08:50


Auf alle Controls eines Panels zugreifen
 
Hallo Leute !

ich möchte in einer Schleife auf alle Contols auf einem Panel zugreifen,
um eine Eigenschaft der Conrols (z.B. Color) zu ändern.

kann mir jemand einen Tip dazu geben.

vielen Dank im Voraus.

Sam

dataspider 20. Feb 2006 09:42

Re: Auf alle Controls eines Panels zugreifen
 
Hi,

folgendes Beispiel switcht den Enabled State der Controls auf Wunsch auch recursiv:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ChangeEnabled(Panel1, True);
end;

procedure TForm1.ChangeEnabled(AControl: TWinControl; Recursiv: Boolean = True);
Var
  i : Integer;
begin
  for i := 0 to Pred(AControl.ControlCount) do
  begin
    AControl.Controls[i].Enabled := not AControl.Controls[i].Enabled;
    if Recursiv and (AControl.Controls[i] is TWinControl) and
               (TWinControl(AControl.Controls[i]).ControlCount > 0) then
        ChangeEnabled(TWinControl(AControl.Controls[i]), Recursiv);

  end;
end;
Cu, Frank

samjones 20. Feb 2006 10:37

Re: Auf alle Controls eines Panels zugreifen
 
Hallo dataspider

Super ! Sehr elegante Lösung.

Funktioniert bei mir einwandfrei.

Vielen Dank!

Sam


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz