0

我希望遍历/递归表单上的组件。

我计划对组件进行迭代/递归以对特定类型的组件进行批量更改,但为此,我需要处理所有组件。

我检查了 Code Complete 和 Google,但没有任何运气回答我自己的问题。

4

1 回答 1

0

使用该TWinControl.Controls[]属性,例如:

Procedure DoSomething(AControl: TWinControl);
Var
  I: Integer;
  Ctrl: TControl;
Begin
  If AControl is TSomeControl then
  Begin
    ...
  End;
  For I := 0 to AControl.ControlCount-1 do
  Begin
    Ctrl := AControl.Controls[I];
    If Ctrl is TWinControl then
      DoSomething(TWinControl(Ctrl));
  End; 
End;

Procedure TMyForm.DoIt;
Begin
  DoSomething(Self);
End;
于 2013-12-14T19:09:20.363 回答