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

时间:2023-03-09 00:27:02
delphi 判断MDI窗体的子窗体是否存在
//***************************************************************************//函 数名: CreateForm
//返 回值: boolean
//参 数: TForm
//功 能: 判断MDI窗体的子窗体是否存在 //***************************************************************************
function TForm1.CreateFor(CForm:TForm):boolean;
var
  i:integer;
  FormExist:boolean;
begin
  FormExist:=false;
if(CForm=Nil) then //判断CFrom是否为空
begin
  CreateForm:=false; //函数返回值赋false
  exit; //退出本函数
end;
for i:= to Screen.FormCount- 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;