首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

TRzpagecontrol 怎么动态创建?(分不多,请多包涵)

2013-03-01 
TRzpagecontrol 如何动态创建?(分不多,请多包涵)一,情况是这样的:我先手动创建一个Tabsheet1 里面包括butt

TRzpagecontrol 如何动态创建?(分不多,请多包涵)
一,情况是这样的:我先手动创建一个Tabsheet1 里面包括button,panel,listview edit等控件,现在Tabsheet1里面每个控件功能都实现好了,现在我想通过一个按钮来实现动态创建Tabsheet1里一模一样的界面和功能,各位大大请问怎么实现?小弟比较菜,最好能详细说明,谢谢了

二,Rzpagecontrol 手动创建4个Tabsheet1,Tabsheet2,Tabsheet3,Tabsheet4
窗体create时 全部设置tabvisible为false,现通过按钮把前三个tabvisible为true,通过标题那个关闭按钮一个个关掉3个之后竟然会出现Tabsheet4那一页的内容(按道理来说是不能出现的),请问这个又是怎么回事啊?如果不要出现Tabsheet4那一页又怎么做? 谢谢
[解决办法]
一,把那些功能写成一个frame,调用时就
var
  f:TMyFrame
[解决办法]

var
  TabSheet:TsTabSheet;
  f:TFrame1;
begin
  TabSheet:=TsTabSheet.Create(PageControl1);
  TabSheet.PageControl := PageControl1;//容器归属
  PageControl1.ActivePageIndex := TabSheet.PageIndex;//激活容器页
  f := TFrame1.Create(TabSheet);//创建窗口
  f.ManualDock(TabSheet);//将窗口融合到容器里
  f.Align := alClient;//窗口自适应

[解决办法]
动态创建TTabSheet的例子(初始pageControl默认有一个TTabSheet, 上边两个控件TButton, TEdit)
procedure TForm13.btn3Click(Sender: TObject);
var
  i : integer;
  newTab : TTabSheet;
begin
  newTab := TTabSheet.Create(pgc1);
  newTab.PageControl := pgc1;
  newTab.Visible := true;
  newTab.Caption := 'ts' + IntToStr(pgc1.PageCount);

  for I := 0 to ts1.ControlCount - 1 do
  begin
    if ts1.Controls[i] is TButton then
    begin
      with TButton.Create(newTab) do
      begin
        name := newTab.Name + '_' + ts1.Controls[i].Name;
        Parent := newTab;
        Visible := true;
        top := TButton(ts1.Controls[i]).Top;
        left := TButton(ts1.Controls[i]).left;
        Width := TButton(ts1.Controls[i]).Width;
        Height := TButton(ts1.Controls[i]).Height;
        Caption := TButton(ts1.Controls[i]).Caption;
      end;
    end
    else
    if ts1.Controls[i] is TEdit then
    begin
      with TEdit.Create(newTab) do
      begin
        name := newTab.Name + '_' + ts1.Controls[i].Name;
        Parent := newTab;
        Visible := true;
        top := TButton(ts1.Controls[i]).Top;
        left := TButton(ts1.Controls[i]).left;
        Width := TButton(ts1.Controls[i]).Width;
        Height := TButton(ts1.Controls[i]).Height;


        Text := TEdit(ts1.Controls[i]).Text;
      end;
    end;
  end;

end;

热点排行