delphi判断MDI窗体的子窗体是否存在

转】delphi判断MDI窗体的子窗体是否存在
//***************************************************************************
//函 数 名: CreateForm
//返 回 值: boolean
//参 数: TForm
//功 能: 判断MDI窗体的子窗体是否存在
//***************************************************************************
function TForm1.CreateForm(CForm:TForm):boolean;
var
i:integer;
FormExist:boolean;
begin
FormExist:=false;
if(CForm=Nil) then //判断CFrom是否为空
begin
CreateForm:=false; //函数返回值赋false
exit; //退出本函数
end;
for i:=0 to Screen.FormCount-1 do //判断窗体是否已经建立起来
begin
if Screen.Forms[i].ClassType=CForm.ClassType then //判断窗体存在
FormExist:=true;
end;
if FormExist=false then
begin
CreateForm:=false; //函数返回值赋false
exit; //退出本函数
end;
if CForm.WindowState=wsMinimized then
ShowWindow(CForm.Handle,SW_SHOWNORMAL) //显示窗体
else
ShowWindow(CForm.Handle,SW_SHOWNA); //显示窗体
if not CForm.Visible then
CForm.Visible:=true;
CForm.BringToFront; //当前窗口显示在最前面
CForm.SetFocus;
CreateForm:=true;
end;

原文地址:https://www.cnblogs.com/blogpro/p/11446495.html