Vcl.Controls.TWinControl.GetControls

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

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

C++

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

プロパティ

種類 可視性 ソース ユニット
function public
Vcl.Controls.pas
Vcl.Controls.hpp
Vcl.Controls TWinControl


説明

GetControls は、TControlList のコントロールを返します。

GetControls は、Controls プロパティの protected な読み取りの実装です。

==

次の例は、コードでの GetControlsTControlEnumeratorFilter の使用方法を示しています。

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;

デフォルト コントロール列挙子は、まだ TComponent 列挙子のデフォルトである点に注意してください。このため、次の記述すると:

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

実際には、コントロールだけでなく、インスタンス (この例では 'Panel1' など) が所有する、すべてのコンポーネントを列挙しています。

以下のコードを使用すると、同じオブジェクトのコントロールを列挙します。

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

C++

次のコードを使用すると、フォームのキャプションを更新して、角かっこ内に各コントロールの ClassName を含めることができます。

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

関連項目