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

📄 baseform.pas

📁 产品信息系统!关于产品基础信息的系统!功能强大!
💻 PAS
字号:
unit BaseForm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StyleForm, ExtCtrls, StdCtrls, BaseFrame;

type
  TfrmBaseForm = class(TfrmStyleBase)
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  private
    FFrame: TBaseFrameF;
    procedure SetFrame(const Value: TBaseFrameF);
  public
    constructor CreateFrame(AOwner: TComponent; AFrame: TBaseFrameF; Cap: string='');
    constructor CreateFrameClass(AOwner: TComponent; AFrameClass: TBaseFrameClass; Cap: string='');
    property Frame: TBaseFrameF read FFrame write SetFrame;
  end;

var
  frmBaseForm: TfrmBaseForm;

function ShowFrame(AFrame: TBaseFrameF; Cap: string=''): Integer;
function ShowFrameClass(AFrameClass: TBaseFrameClass; Cap: string=''): Integer;

implementation

{$R *.DFM}

function ShowFrame(AFrame: TBaseFrameF; Cap: string=''): Integer;
begin
  with TfrmBaseForm.CreateFrame(nil,AFrame,Cap) do
    try
      Result := ShowModal;
      AFrame.Parent := nil;
    finally
      Free;
    end;
end;

function ShowFrameClass(AFrameClass: TBaseFrameClass; Cap: string=''): Integer;
begin
  with TfrmBaseForm.CreateFrameClass(nil,AFrameClass,Cap) do
    try
      Result := ShowModal;
    finally
      Free;
    end;
end;

constructor TfrmBaseForm.CreateFrame(AOwner: TComponent; AFrame: TBaseFrameF; Cap: string='');
begin
  inherited Create(AOwner);
  Frame := AFrame;
  Frame.Caption := Cap;
end;

constructor TfrmBaseForm.CreateFrameClass(AOwner: TComponent;
  AFrameClass: TBaseFrameClass; Cap: string='');
begin
  inherited Create(AOwner);
  Frame := AFrameClass.Create(Self);
  Frame.Caption := Cap;
end;

procedure TfrmBaseForm.SetFrame(const Value: TBaseFrameF);
begin
  FFrame := Value;
  pnlClient.Width := Frame.Width;
  pnlClient.Height := Frame.Height;
  Frame.Parent := pnlClient;
  Frame.Align := alClient;
end;

procedure TfrmBaseForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  inherited;
  if Frame <> nil then
    CanClose := Frame.CanClose;
end;

end.

⌨️ 快捷键说明

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