我正在开发一个由页面控件组成的模块。默认情况下,此页面控件(TPageControl)不应包含任何标签页(TTabSheet),但是在初始化时,它应动态插入这些页面并将表单嵌入其中。

问题在于知道如何将标签页插入页面控件中。我该如何创建呢?一旦创建完毕,连同每个表格中的表格一起,我如何遍历它们以销毁表格?

最佳答案

1.如何动态创建标签页?

procedure TForm1.Button1Click(Sender: TObject);
var
  TabSheet: TTabSheet;
begin
  TabSheet := TTabSheet.Create(PageControl1);
  TabSheet.Caption := 'New Tab Sheet';
  TabSheet.PageControl := PageControl1;
end;


2.如何在标签页中嵌入表格?

要将表单插入标签页,只需使用父项更改:

Form2.Parent := TabSheet;
Form2.Show;


3.销毁选项卡时,是否需要手动释放它们?

不,它足以释放选项卡。如果表单具有选项卡页,或更确切地说,将TWinControl作为其Parent,则该父级将在释放自身时照顾它们的释放。

10-08 15:52