Vcl.Controls.TWinControl.GetControls

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

function GetControls(AFilter: TControlEnumeratorFilter = []): TControlEnumerator;

C++

TControlEnumerator* __fastcall GetControls(TControlEnumeratorFilter AFilter = TControlEnumeratorFilter() );

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
function public
Vcl.Controls.pas
Vcl.Controls.hpp
Vcl.Controls TWinControl


Delphi

function GetControls(AFilter: TControlEnumeratorFilter = []): TControlEnumerator;

C++

TControlEnumerator* __fastcall GetControls(TControlEnumeratorFilter AFilter = TControlEnumeratorFilter() );

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
function public
Vcl.Controls.pas
Vcl.Controls.hpp
Vcl.Controls TWinControl


Beschreibung

GetControls gibt die Steuerelemente von TControlList zurück.

GetControls ist die als protected deklarierte Lesemethode der Eigenschaft Controls.

Beispiel

Die folgenden Beispiele zeigen, wie GetControls und TControlEnumeratorFilter im Code verwendet werden.

Delphi

 for var ACtrl in Panel1.GetControls do
  begin
    // This gets all controls of 'Panel1'
  end;
 
  for var ACtrl in Panel1.GetControls([ceftEnabled]) do
  begin
    // This gets all enabled controls of 'Panel1'
  end;
 
  for var ACtrl in Panel1.GetControls([ceftVisible]) do
  begin
    // This gets all visible controls of 'Panel1'
  end;

Beachten Sie, dass der Standard-Steuerelement-Enumerator weiterhin standardmäßig auf den TComponent-Enumerator festgelegt ist, wenn Sie also schreiben:

 for var ACtrl in Panel1 do
  begin
    // This gets all components of 'Panel1'
  end;

Zählen Sie eigentlich alle Komponenten auf, die zur Instanz gehören (z. B. "Panel1" in unserem Beispiel), und nicht nur deren Steuerelemente.

Zählen Sie die Steuerelemente desselben Objekts mit dem folgenden Code auf.

for var ACtrl in GetControls([ceftAll]) do
begin
end;

C++

Mit dem folgenden Code können Sie die Beschriftung eines Formulars so aktualisieren, dass sie den ClassName jedes Steuerelements in eckigen Klammern enthält.

  String msg;
  for (auto ctl: GetControls(TControlEnumeratorFilter()))
  {
	msg += "[" + ctl->ClassName() + "]";
  }
  Caption = msg;

Siehe auch