使用pageControl实现镶嵌窗体

2017-04-24 09:40:23来源:oschina作者:千里之行12人点击

开发时需要把原来的几个功能集中整合到一个窗体,使用frame要重新写,而且一般前端都是继承查询和编辑两个基本窗体框架,好多和后台交互以及界面实现都写好了。这是使用pageControl实现镶嵌窗体。

procedure TForm5.Button1Click(Sender: TObject);
begin
CreateForm;
end;
procedure TForm5.CreateForm;
var Form : TForm1; TabSheet : TTabSheet;
begin
//查找该标签页是否已经存在
//TabSheet := TTabSheet(self.FindComponent(''));
try
//创建新标签页
TabSheet := TTabSheet.Create(self);
TabSheet.PageControl := pgc1;
TabSheet.Tag := 2;
TabSheet.Align := alClient;
except
FreeAndNil(TabSheet);
Exit;
end;
try
//创建窗口
Form := TForm1.Create(self);
Form.Parent := TabSheet;
Form.BorderStyle := bsNone;
Form.Top := 0;
Form.Left := 0;
Form.Width := TabSheet.Width;
Form.Height := TabSheet.Height;
Form.Align := alClient;
TabSheet.Caption := Form.Caption;
//关联窗体关闭时,执行的函数。
//Form.OnClose := CloseTabSheet;
Form.Show;
except
FreeAndNil(Form);
Abort;
end;
//设置当前的标签页为活动页
pgc1.ActivePage := TabSheet;
end;procedure TForm5.FormCreate(Sender: TObject);
begin
CreateForm;
end;

设计时主窗体



设计时镶嵌窗体



运行效果


最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台