我是一个菜鸟,在学习过程中,想在程序中动态生成一组控件,在控件生成后,需要在其它地方对其属性进行更改,但我不会,请各位高手给予解答,先谢谢了!!!

解决方案 »

  1.   

    TForm1.buttononclick(Sender:TOBJect);
    var
      NewLa:TLabel//创建一个label
    begin
      NewLa:=TLabel.Create(self);
      NewLa.Parent := Form1;
      NewLa.Caption := 'Hello';//改变名称
      NewLa.left := 120;//位置
      .....//剩下你改什么都可以
    end;
      

  2.   

    我打印时用到的动态生成代码,,部分
                with TQRLabel.Create(TitleBand) do
                begin
                  parent := TitleBand;
                  Left := 变量1;
                  Top := 变量2;
                  Height := 10;
                  Font.Size := 9;
                  ...
                end;
      

  3.   

    先声明变量FEdit : TEdit;创建:FEdit := TEdit.Create(Form1);
    with FEdit do
    begin
      Parent := Form1;
      Left := 10;
      Top := 10;
    end;在其它地方引用:
      FEdit.Text := 'Hello,World';
      

  4.   

    比如我用以下程序生成了几个控件:
    var
      FEdit : TEdit;
      i:integer;
    begin
      for i:=0 to 10 do
      begin
        FEdit:=TEdit(Form1);
        Parent := Form1;
        Left := 10+i*10;
        Top := 10;
      end;
    end;可生成10个EDIT控件,但程序只能对最后生成的一个控件进行正常引用,对前9个,怎么引用?!另外,componentindex的用法,也不是很清楚,希望各位大侠解救!!!