有一个PageControl1控件,其中一个TabSheet1上有一些如richedit,button等控件。
应该如何在新的tbaSheet2控件上自动创建TabSheet1上的所有控件及它们的运行函数,如Button的点击~

解决方案 »

  1.   

    var BtnTest:TButton;
    begin
     btnTest := TButton.Create(self);
     btnTest.Parnet := TabSheet2;
     BtnTest.Caption := '测试';
     BtnTest.Name := 'xxxx';
     BtnTest.Onclick := 你自定义的事件名称;
    end;
    大致应该是这样
      

  2.   

    控件.ParentWindow := tabsheet2.Handle;tabsheet2.InsertControl(控件);
      

  3.   

    如果同样的控件生成较多,可以用数组来管理,比如Button数组,尤其是如果用同样的OnClick函数时,你可以遍历数组来找到谁是Sender。
      

  4.   

    把那个TAB1上面的东东做成FRAME,也是可行的
      

  5.   

    遍历TabControl1的Controls,一个一个生成?
      

  6.   

    tabsheet2.InsertControl(控件);
    控件.ParentWindow := tabsheet2.Handle;
      

  7.   

    很明显,这需要做一个公用的窗体,然后在Page遍历TabControl1,加载这个窗体就可以了。你要一个一个创建累不死你!代码都得堆死你。改一个控件,你得改多少地方。6楼的方法就对了!