⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 un_formfactory.pas

📁 信息系统工作核心代码,若要具体可以联系我,这只是一部分核心代码,大家一起交流分享.谢谢
💻 PAS
字号:
unit Un_FormFactory;

interface

uses
  Classes, Variants, Forms, SysUtils, Un_EntityClass, ActnList;

type
  TEntityFormFactory=class
  private
    function FindForm(AEntityName: String): TForm;
  public
    class function Instance: TEntityFormFactory;
    procedure CreateForm(EntityName: String);
  end;

implementation
uses
  main, EntityTemplet, EntityTempletExtendFrm;

var
  FEntityFormFactory: TEntityFormFactory;

{ TEntityFormFactory }

procedure TEntityFormFactory.CreateForm(
  EntityName: String);
var
  AForm: TForm;
begin
  AForm:= FindForm(EntityName);
  if AForm=nil then begin
    AForm:= TDynamicEntityForm.Create(Application, EntityName);
    AForm.Hint:= EntityName;
    //AForm.WindowState:= wsMaximized;
    AForm.Top:= MainForm.Top+1;
    AForm.Left:= MainForm.Left+1;
    AForm.Width:= MainForm.ClientWidth-40;
    AForm.Height:= MainForm.ClientHeight-60;
    AForm.Position:= poDesktopCenter;
    AForm.WindowState:= wsNormal;
    AForm.FormStyle:= fsMDIChild;
  end;
  if AForm.WindowState=wsMinimized then
    AForm.WindowState:= wsNormal;
  AForm.Show;
end;

function TEntityFormFactory.FindForm(AEntityName: String): TForm;
var
  i: Integer;
begin
  Result:= nil;
  with MainForm do begin
    for i:= 0 to MDIChildCount-1 do begin
      if MDIChildren[i].Hint= AEntityName then begin
        Result:= MDIChildren[i];
        Break;
      end;
    end;
  end;
end;

class function TEntityFormFactory.Instance: TEntityFormFactory;
begin
  if FEntityFormFactory=nil then
    FEntityFormFactory:= TEntityFormFactory.Create;
  Result:= FEntityFormFactory;
end;

initialization
  FEntityFormFactory:= nil;
finalization
  if FEntityFormFactory<>nil then
    FreeAndNil(FEntityFormFactory);

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -