Vcl.Controls.TWinControl.GetControls
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 な読み取りの実装です。
==
次の例は、コードでの GetControls と TControlEnumeratorFilter の使用方法を示しています。
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;