我要加一组控件,所以我把这些控件按要求在frame排列好,现在就要以数组的方式加入这些frame,请问题如何操作,或是用其他什么方法比较容易实现

解决方案 »

  1.   

    建立frame1,在frame1上放一个checkbox,combobox,text,datetimepick,botton
    然后我读配置文件,如果是3,就以数组形式加载frame1,为frame1[0],frame1[1],frame1[2]
      

  2.   

    还是不太明白你的意思,但是下面的代码是如何动态加载Frmae窗体
    use FrmName ;    //你建立的Frame
    var
       Frame : TFrame ;
    procedure Tform1.Button1Click(Sender: TObject);
    begin
         if Assigned(Frame) then
         Begin
             Try
                FreeAndNil(Frame) ;
             Except
                Frame := nil ;
             end ;
         end ;
         Frame := TFrmName.Create(Form1);    //TFrmName:你建立的Frame窗体,前面需要引用
         Frame.Parent := gBox ;
         Frame.Align := alClient ;
         with (Frame as TFrmName) do
         begin
             。这里可以对Frame 中的控件进行设置了
         end  ;
    end ;
      

  3.   

    Frame : array of TFrame2 ;
    procedure Tform1.Button1Click(Sender: TObject);
    var i:integer;
    begin
         setlength(frame,3);
      for i:=low(frame) to high(frame) do
      begin
         if Assigned(Frame[i]) then
         Begin
             Try
                FreeAndNil(Frame[i]) ;
             Except
                Frame[i] := nil ;
             end ;
         end ;
         Frame[i] := TFrame2.Create(Form1);    //TFrame2:你建立的Frame窗体,前面需要引用
         Frame[i].Parent := Form1 ;
         Frame[i].Align := altop ;
         with (Frame as TFrmName) do
         begin
             。这里可以对Frame 中的控件进行设置了
         end 
     end;
    end ;
    我的意思就这样,要加载好几个frame2,运行到TFrame2.Create(Form1);说是已经加载了
      

  4.   

    把上面的改成
    if i=0 then
       Frame[i] := TFrame2.Create(Form1)
    else
       Frame[i] := TFrame2.Create(Frame[i-1]);
    就可以了,谁可以解释一下这个意思啊