现在窗体上有一个pagecontrol1,要根据变量i的大小,创建相同数量的tabsheet。大哥大姐们给个例子。多谢了。

解决方案 »

  1.   

    tabSheet1 := TTabSheet.Create( Application );
    tabSheet1.Parent := frmMain.PageControl1;
    tabSheet1.pageControl := frmMain.PageControl1;
      

  2.   

    感谢楼主,借用一下贵宝地:)请问楼上的大侠,要是在制作组件时,动态创建该怎么做?
    (以上的代码在应用程序中不会出错,但是在定制控件时,如果想在PageControl中
    创建一个TabSheet的话,会出现“Control '' has no parent window”的错误。
    就算是设置了Parent还是会出错。)参考我的问题,请各位帮忙:
    http://expert.csdn.net/Expert/TopicView1.asp?id=2452493
      

  3.   

    感谢TechnoFantasy(www.applevb.com) ,能继续说一下怎么根据变量i的大小创建相同数量的tabsheet吗?而且每个tabsheet上有一个groupbox,groupbox中有一个memo。这个循环语句怎么写啊?帮人帮到底,再教我一下好吗?解决了马上结贴。
      

  4.   

    for i:=1 to n do
    begin
      tabSheet1 := TTabSheet.Create( Application );
      tabSheet1.Parent := frmMain.PageControl1;
      tabSheet1.pageControl := frmMain.PageControl1;
      tabsheet1.Name := 'tabsheetX' + IntToStr(i);
    end;使用'tabsheetX'是为了保证不与现有的Tabsheet同名
    在tabsheet中创建groupbox通上如果创建个数有上限的话,不妨定义一个数组来存储创建的Tabsheet,以便使用时方便。
    var
      arr: array[1..n] of integer;var
      tabsheet1 : Ttabsheet;
    for i:=1 to n do
    begin
      tabSheet1 := TTabSheet.Create( Application );
      tabSheet1.Parent := frmMain.PageControl1;
      tabSheet1.pageControl := frmMain.PageControl1;
      tabsheet1.Name := 'tabsheetX' + IntToStr(i);
      arr[i] := Integer(tabsheet1);
    end;使用时,用Ttabsheet(arr[i])来访问
      

  5.   

    我以前看过这种代码:arr[i] := Integer(tabsheet1);
    我一直不懂,TabSheet1是一个控件啊(对象),它其实是一个整数值吗?怎么能用一个整数来表示呢?(不好意思,偶初学Delphi,还望指教:)