这个是关闭一般窗体的代码,如果是子窗体则还需要增加
procedure tformchild.formclose(sender:tobject;var:action:tcloseaction);
begin
action:=cafree;
formchild:=nil;
end;
参考一下:
********mdi子窗体的动态建立*******
mdi父窗体的formstyle为fsmdiform
mdi子窗体的formstyle为fsmdichild
在project中删除不启动的mdi子窗体
//mdi子窗体:
procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
form3:=nil;
end;
//mdi父窗体:
procedure TForm1.fdf1Click(Sender: TObject);
begin
if not assigned(form2) then
begin
form2:=Tform2.Create(Self);
//form2.Visible:=True;
form2.Show;
end;
end;
//以上可以打开多个mdi窗体
//只能打开一个mdi窗体
try
if application.MainForm.MDIChildCount>0 then
activemdichild.Close;
finally
TForm2.Create(Self);//这是子窗体,MDIChild窗体自己创建自己显示,不用Show
end;
//mdi主窗体运行时最大化
把Form.WindowState属性设置成wsMaximized