自定义了一个frame 然后运行时生成一个动态列表
myfram2:array of mytframe

setlength(myfram2,5)这样可以吧。然后吧这几个frame放到form1上。怎么放?

解决方案 »

  1.   

    for.....
    begin
       myfram2[i].parent:=form1;
       myfram2[i].left:=10;
       myfram2[i].top:=10;
       myfram2[i].show;
       myfram2[i].update;end;
      

  2.   

    你只要单独保存frame单元文件即可,控件栏中不会出现的,使用时直接点选frame控件图标即可,系统会自动列出可用的frame列表,你选一个即可。
      

  3.   

    需要动态的, 根据参数创建frame的数目。
      

  4.   

    for.....
    begin
       myfram2[i].parent:=form1;
       myfram2[i].left:=10;
       myfram2[i].top:=10;
       myfram2[i].show;
       myfram2[i].update;end;
      

  5.   

    myframes[0]:=tframe2.Create(form1);
        myframes[0].Parent:=self.Panel2;
        myframes[0].Top:=self.Panel2.Top ;
        myframes[0].Left:=self.Panel2.Left;
        myframes[0].Show;
        myframes[0].Update;没有问题。然后
     myframes[1]:=tframe2.Create(form1);
        myframes[1].Parent:=self.Panel2;
        myframes[1].Top:=self.Panel2.Top ;
        myframes[1].Left:=self.Panel2.Left;
        myframes[1].Show;
        myframes[1].Update;
    就不行了。提示  frame2构建已经存才。 
    怎样才能创建好多个Tframe2;
      

  6.   

    创建后
    myfram2.parent:=form1;
    就放到窗体上了
      

  7.   

    tframe2.Create(form1);为什么不能重复调用.换成tbutton.Creat就可以了somebody help me 啊!
      

  8.   

    你将各个不同的frame的 名字指定一下就可以创建多个实例了
      

  9.   

    myframes[0]:=tframe2.Create(form1);
    此处增加: 
        myframes[0].name = 'myframe0'; 
        
        myframes[0].Parent:=self.Panel2;
        myframes[0].Top:=self.Panel2.Top ;
        myframes[0].Left:=self.Panel2.Left;
        myframes[0].Show;
        myframes[0].Update;没有问题。然后
     myframes[1]:=tframe2.Create(form1);
    此处增加 
        myframes[0].name = 'myframe1';
         
        myframes[1].Parent:=self.Panel2;
        myframes[1].Top:=self.Panel2.Top ;
        myframes[1].Left:=self.Panel2.Left;
        myframes[1].Show;
        myframes[1].Update;
    就不行了。提示  frame2构建已经存才。 
    怎样才能创建好多个Tframe2;