Delphi 遍历控件 遍历组件

Delphi Tips

特别在动态创建控件时,有时经常需要遍历控件。

如果知道控件名称,则可以通过FindComponent – 查找(定位)组件,如果不知道的话,只能遍历控件了。

遍历一个Panel上的所有控件:

Var
	i: integer;
begin
	for i:=0 to Panel1.ControlCount do
		begin
			// 控件: Panel1.Controls[i]
			// 自己的业务逻辑代码
		end;
end;

以下是根据控件的某个属性来定位,并且批量修改属性

var
  I:integer;
begin
  for i:=0 to Self.Componentcount-1 do//Self.Componentcount就是TForm1的控件数量
    begin
      if Self.Components[i] is TRzEdit then   //判断控件是否为TRzEdit
        begin
          if (Self.Components[i] as TRzEdit).Text='' then CWMsg.M(Self.Components[i].Name);
        end;
    end;
end;

关于已知控件名称的话,则建议使用FindComponent