如何动态的创建控件
例如
 动态的测得一个数n
 用循环创建n个image控件?
 如何对他们的属性进行操作?
 如何消毁所建控件?能写个小程序解释一个吗?

解决方案 »

  1.   

    public
    Procedure crea(N:integer);...
    Procedure Tform.crea(N:integer);
    Edits: array of TEdit;
    Begin
    n := 5;
    SetLength(Edits, n);
    for i:=0 to n-1 do
    Begin 
      Edits[i] := TEdit.Create;
      edits[i].caption:='caption'+inttostr(i);
      edits[i].onclick:=myclick;//自定义事件、过程
    end;
     
    end;procedure tform1.button1click(sender:object);
    bEGIN
    CREA(10); //创建10个edit.名字分别是edit1..edit10
    END;
      

  2.   

    var
      i: Integer;
    begin
      for i := 0 to 9 do
      begin
        with TMyButton.Create(Self) do  //随窗体释放
        begin
          Name := 'MyButton' + IntToStr(i);
          Top := 100 + 20 * i;
          Left := 100;
          Width := 100;
          Height := 20;
          Parent := Form1;
          Caption := 'Try' + IntToStr(i);
          OnClick := WhenClickMe ;
        end;
      end;