[转载]Delphi判断MDI子窗体是否被创建

2025-05-14 00:18:28
推荐回答(1个)
回答1:

//***************************************************************************//函 数名: CreateForm//返 回值: boolean //参 数: TForm //功 能: 判断MDI窗体的子窗体是否存在 //***************************************************************************function TForm1.CreateForm(CForm:TForm):boolean;vari:integer;FormExist:boolean;beginFormExist:=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;