delphi如何遍历窗体中的所有控件?
delphi如何遍历窗体中的所有控件?
如何遍历各个控件的各种属性??
问题点数:60、回复次数:9Top
1 楼windindance(风舞轻扬·白首为功名)回复于 2002-04-04 11:27:51 得分 10
uses typinfo;
for i:=0 to Form.ComponentCount-1 do
Form.Components[i]. ...
遍历各个控件的各种属性应该可以通过GetPropList和GetPropInfos函数实现
不过我没有用过。Top
2 楼ChinaOk(农村表哥)回复于 2002-04-04 11:35:41 得分 20
for i:=0 to ComponentCount-1 do { 遍历Form组件 }
begin
frmComponent:=Components[i];
if frmComponent is TLabel then { 如果组件为TLabel型则当作TLabel处理,以下同 }
begin
(frmComponent as TLabel).Caption:=
ReadString(Translations,frmComponent.Name+'.Caption',(frmComponent as TLabel).Caption);
end;
if frmComponent is TCheckBox then
begin
(frmComponent as TCheckBox).Caption:=
ReadString(Translations,frmComponent.Name+'.Caption',(frmComponent as TCheckBox).Caption);
end;
if frmComponent is TButton then
begin
(frmComponent as TButton).Caption:=
ReadString(Translations,frmComponent.Name+'.Caption',(frmComponent as TButton).Caption);
(frmComponent as TButton).Hint:=
ReadString(Translations,frmComponent.Name+'.Hint',(frmComponent as TButton).Hint);
end;
if frmComponent is TMenuItem then
begin
(frmComponent as TMenuItem).Caption:=
ReadString(Translations,frmComponent.Name+'.Caption',(frmComponent as TMenuItem).Caption);
end;
end;Top
3 楼quark(夸克)回复于 2002-04-04 11:37:19 得分 0
for i:=0 to Form.ComponentCount-1 do Form.Components[i].
for i:=0 to Form.ControlCount-1 do Form.Controls[i].Top
4 楼zx_wang(wzx)回复于 2002-04-04 11:44:02 得分 0
把你的EMail给我,我可以给你发员代码Top
5 楼hup(点化生命)回复于 2002-04-04 12:36:52 得分 10
var i:integer;
begin
for i:=0 to componentcount[i] do
begin
if components[i] is Tedit then...
if components[i].tag=1 then ...
//访问控件的属性
Tedit(components[i]).enabled:=false;
end;
end;Top
6 楼aismin(中原)回复于 2002-04-04 20:03:46 得分 0
我的EMAIL是
aismin@21cn.com
Thanks you ! (zx_wang)Top
7 楼syd111(赤蝎13)回复于 2002-04-18 11:09:11 得分 0
hup() 厉害!Top
8 楼wylove(阿刚)回复于 2002-04-18 19:08:55 得分 0
一般可以通过tag属性来判断来判断是哪个控件!Top
9 楼ly_liuyang(Liu Yang LYSoft http://lysoft.7u7.net)回复于 2002-04-18 20:17:34 得分 20
一般通过.ComponentCount和.Components[i]来遍历窗体中的所有控件,
当然可以通过预定义.tag的值来区分具体的控件,比与.tag=1的是TLabel,.tag=2的是Tedit,.tag=3的是Tbutton,用is来判定控件,is进行类型转换:if mainform.Components[2] is tlabel then (mainform.Components[2] as tlabel).caption:=....Top




