如何循环一个窗体中的所有控件
我在窗体中放置了一个TPageControl控件,3个TTabSheet,又在TTabSheet上放了几个TPanel,
我如何循环出TPanel上的控件
[解决办法]
//你再加些代码处理一下就可以了var i:Integer;begin for i:=0 to self.ComponentCount-1 do begin self.ListBox1.Items.Add( Components[ i ].Name ); end;end;
[解决办法]
判断它的Parent
[解决办法]
procedure GetPanelComponent(const pnl: TPanel);
var
i: integer;
begin
for i:=0 to pnl.ComponentCount-1 do
begin
//取出子控件
ShowMessage(pnl.Components[i].Name);
end;
end;
[解决办法]
[code=Delphi(Pascal)][/code]var
i:Integer;
begin
for i:=0 to self.ComponentCount-1 do
begin
if (self.Components[i].HasParent) and ((self.Components[i] as TControl).Parent is TPanel) then
//处理
end;
end;
//你应该说的是可视控件吧
//如果你是想要某一个panel内的所有控件,可以将"(self.Components[i] as TControl).Parent is TPanel"
//改为"(self.Components[i] as TControl).Parent.name = panel名)"