DELPHI中怎么在程序中遍历上面的全部控件

来源:互联网 发布:videoscribe 软件 编辑:程序博客网 时间:2024/04/27 14:39

对delphi了解不多,用到这个功能,SO。。。

1.

for   i:=0   to   Form1.ComponentCount-1   do 
begin 
    Form1.Components[i]...... 
end;

2.

procedure   TForm1.Button2Click(Sender:   TObject); 
var 
  i:Integer; 
begin 
    for   i:=1   ComponentCount-1   do 
    begin 
        Memo1.Lines.Add(Components[i].Name); 
    end; 
end; 

3.

procedure   TestAdd(Component:TComponent); 
var   
    i:integer; 
begin 
    for   i:=0   to   Component.ComponentCount-1   do 
    begin 
        if   Components[i].ComponentCount> 0   then 
              TestAdd(Components[i].); 
        Memo1.Lines.Add(Components[i].Name); 
    end; 
end; 
TestAdd(Self);

4.

procedure   setread(zt:   integer;   sender:   Tpanel); 
var 
    i:integer; 
begin 
    for   i:=0   to   sender.ControlCount   -1   do 
        begin 
            if   (sender.Controls[i]   is   Tedit)   then 
                begin 
                    if   zt=1   then 
                        (sender.Controls[i]   as   tedit).readonly:=true 
                    else 
                        (sender.Controls[i]   as   tedit).readonly:=false; 
                end; 

        end;

end;

5.

for   m   :=   o   to   Self.ComponentCount   -   1   do 
    if   Self.Componets[m]   is   TLabel   then

6.

procedure   TForm1.Button2Click(Sender:   TObject); 
var 
    i:Integer; 
begin 
    for   i:=0   to   Self.ComponentCount-1   do 
        ListBox1.Items.Add(Self.Components[i].Name); 
end;

以上来自网页资料:http://topic.csdn.net/t/20021125/16/1203961.html

                :http://topic.csdn.net/t/20021125/16/1203877.html

最终我所用的方法:

procedure setDeactivate();

procedure TFrmPower1.setDeactivate();
var
  i:integer;
begin
  for i:=0 to self.ControlCount-1 do
    begin
      if(self.Controls[i] is TiLedRectangle) then
        (self.Controls[i] as TiLedRectangle).OPCItemDeactivate(0);
    if(self.Controls[i] is TiOdometer) then
        (self.Controls[i] as TiOdometer).OPCItemDeactivate(0);
    end;
end;

总结词:解决问题的思路很重要,一同事说C#里面有这种方法,所以我才会想起来去问度娘和古哥。。。。。。


原创粉丝点击