如何检查是否已在TPageControl中创建tabSheet

时间:2015-10-29 12:36:05

标签: delphi tpagecontrol

我在RunTime中动态创建了标签页,并使用以下代码在其中放置了一个框架:

  procedure TForm1.Button2Click(Sender: TObject);
 var
  TabSheetG: TTabSheet;
begin
  TabSheetG := TTabSheet.Create(PageControl1);
  TabSheetG.Caption := 'Tab Sheet green  ';
  TabSheetG.PageControl := PageControl1;
  Frame3 := TFrame3.Create(nil);
  Frame3.Parent := TabSheetG;
  Frame3.Show;
end;

现在我想知道选项卡是否已经创建,只需点击同一个按钮就可以激活它

1 个答案:

答案 0 :(得分:2)

向您的班级添加TTabSheet类型的私有变量。

type
  TForm1 = class(TForm)
  ....
  private
    FMyTabSheet: TTabSheet;
  end;

它会自动初始化为nil

OnClick事件处理程序中,测试变量是否为nil。如果没有,请创建标签页,否则,请使用现有的标签页。

procedure TForm1.Button1Click(Sender: TObject);
begin
  if not Assigned(FMyTabSheet) then
    FMyTabSheet := TTabSheet.Create(PageControl1);
    FMyTabSheet.PageControl := PageControl1;
    ... etc.
  end;
  PageControl1.ActivePage := FMyTabSheet;
end;