{*******************************************************************
函 数 名: if_have_form( FormClass, fm, AOwner )
功能描述:判定某一子窗口是否已打开
参数说明:类名(FORMCLASS)、父窗口名(fm);窗体名(AOwner)
返回 :True :表示有此FORM
False :表示没有此FORM
AUTHOR : CXB
Date : 2002-12-01
*******************************************************************}
function if_have_form( FormClass: TFormClass; var fm; AOwner: TComponent ):Boolean;
var
i: integer;
Child: TForm;
begin
for i := 0 to Screen.FormCount - 1 do
//如有一窗口打开,将不打开新的窗口
if Screen.Forms[i].ClassType = FormClass then
begin
Child := Screen.Forms[i];
if Child.WindowState = wsMinimized then //如已存在但最少化的窗口,将还原显示
ShowWindow(Child.handle, SW_SHOWNORMAL)
else
ShowWindow(Child.handle, SW_SHOWNA);
if (not Child.Visible) then Child.Visible := True;
Child.BringToFront;
Child.Setfocus;
TForm(fm) := Child;
result := True;
exit;
end
else if Screen.Forms[i].FormStyle = fsMDIChild Then
begin
application.MessageBox( '请先关闭窗口','警告',mb_iconwarning );
result := True;
exit;
end;
result := False;
end;