V
violetxh
Unregistered / Unconfirmed
GUEST, unregistred user!
主窗体中有一个PageControl,动态创建Tabsheet,和form,将form的parent指定为tabsheet
procedure TForm1.ShowForm(FormClass: TFormClass;
Form: TForm);
var
i:Integer;
begin
Form := FormClass.Create(nil);
if <窗体不存在> then
begin
tabsheet:=TTabSheet.Create(nil);
Tabsheet.Name:=Form.Caption;
Tabsheet.PageControl:=PGC;
Form.Parent:=Tabsheet;
Form.Align:=alClient;
Form.BorderStyle:=bsNone;
Tabsheet.Caption:=Form.Caption;
Formlist.Add(Form.Caption);
Form.Show;
pgc.ActivePage:=Tabsheet;
end
else
begin
For i:=0 to pgc.PageCount-1do
if pgc.Pages.Name=Form.Caption then
begin
pgc.ActivePage:=pgc.Pages;
Exit;
end;
end;
end;
<窗体不存在>怎么判断?请高手指点
我自己用了一个变通的方法
详见示例:
Ftp://218.90.234.214/demo.rar
procedure TForm1.ShowForm(FormClass: TFormClass;
Form: TForm);
var
i:Integer;
begin
Form := FormClass.Create(nil);
if <窗体不存在> then
begin
tabsheet:=TTabSheet.Create(nil);
Tabsheet.Name:=Form.Caption;
Tabsheet.PageControl:=PGC;
Form.Parent:=Tabsheet;
Form.Align:=alClient;
Form.BorderStyle:=bsNone;
Tabsheet.Caption:=Form.Caption;
Formlist.Add(Form.Caption);
Form.Show;
pgc.ActivePage:=Tabsheet;
end
else
begin
For i:=0 to pgc.PageCount-1do
if pgc.Pages.Name=Form.Caption then
begin
pgc.ActivePage:=pgc.Pages;
Exit;
end;
end;
end;
<窗体不存在>怎么判断?请高手指点
我自己用了一个变通的方法
详见示例:
Ftp://218.90.234.214/demo.rar