for i:=0 to ComponentCount-1 do
if Components.ClassName= 'TEdit' then
(Components as TEdit).Text:='This is a TEdit'
else if Components.ClassName='TLabel' then
(Components as TLabel).Caption:='This is a TLabel'
else...
基本原理就是象grhunter所说,不过要注意如果窗体上有一个panel,而
panel上有一个label,这个label是不属于form的component的.
需要用
for i := 0 to panel1.ControlCount - 1 do
begin
listbox1.Items.Add(panel1.Controls.Name);
end;
所以其实遍历还是挺麻烦的.要写一个递归函数吧.
不过遍歷窗體上的控件有必要吗,如果要写的通用的话,至少我的水平,
要费很大功夫.