//顯示窗體中所有控件的函數
function GetCtrls(Control: TWinControl; List: TStringList): Boolean;
var
i: Integer;
obj: TWinControl;
begin
for i := 0 to Control.ControlCount-1 do
begin
obj := TWinControl(Control.Controls[i]);
List.Add(obj.Name);
//如果控件中包含其他控件, 則遞歸調用
if obj.ControlCount > 0 then
begin
GetCtrls(obj, List);
end;
end;
Result := True;
end;
//調用測試
procedure TForm1.Button1Click(Sender: TObject);
var
list: TStringList;
begin
list := TStringList.Create;
GetCtrls(Self, list); {調用函數}
ShowMessage(list.Text); {顯示窗體中所有控件的名稱}
list.Free;
end;