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

📄 editchildfrm.pas

📁 基于Interbase的图书管理系统
💻 PAS
字号:
unit editchildfrm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ChildFrm, ExtCtrls, StdCtrls, Buttons, Menus;

type
  TFormMode = (fmBrowse, fmInsert, fmEdit);
  TEditChildForm = class(TChildForm)
    Buttonpanel: TPanel;
    BBinsert: TBitBtn;
    BBedit: TBitBtn;
    BBdelete: TBitBtn;
    BBsave: TBitBtn;
    BBfirst: TBitBtn;
    BBprior: TBitBtn;
    BBClose: TBitBtn;
    BBsearch: TBitBtn;
    BBcancel: TBitBtn;
    BBnext: TBitBtn;
    BBlast: TBitBtn;
    Bevel1: TBevel;
    Pnlcompontparent: TPanel;
    pnlState: TPanel;
    procedure BBCloseClick(Sender: TObject);
    procedure BBinsertClick(Sender: TObject);
    procedure BBeditClick(Sender: TObject);
    procedure BBsaveClick(Sender: TObject);
    procedure BBcancelClick(Sender: TObject);
  private
    FFormMode      : TFormMode;
    FOnSetFormMode : TNotifyEvent;
    { Private declarations }
  protected
    procedure SetFormMode(AValue: TFormMode); virtual;
    function  GetFormMode: TFormMode; virtual;
    procedure Setbuttons; virtual;
    procedure SetStatusBar; virtual;
  public
    property FormMode: TFormMode read GetFormMode write SetFormMode;
  published
    property OnSetFormMode: TNotifyEvent read FOnSetFormMode write FOnSetFormMode;
  end;

var
  EditChildForm: TEditChildForm;

implementation

{$R *.dfm}

procedure TEditChildForm.BBCloseClick(Sender: TObject);
begin
  inherited;
close;
end;

function TEditChildForm.GetFormMode: TFormMode;
begin
  Result := FFormMode;
end;

procedure TEditChildForm.Setbuttons;
procedure SetBrowseButtons;
  begin
    bbinsert.Enabled:=true;
    bbedit.Enabled:=true;
    bbdelete.Enabled:=true;
    bbsave.Enabled:=false;
    bbsearch.Enabled:=true;
    bbfirst.Enabled:=True;
    bbprior.Enabled:=True ;
    bbNext.Enabled:=True ;
    bbLast.Enabled:=True ;
    bbcancel.Enabled:=false;
  end;

  procedure SetInsertButtons;
  begin
    bbinsert.Enabled:=false;
    bbedit.Enabled:=false;
    bbdelete.Enabled:=false;
    bbsave.Enabled:=true;
    bbsearch.Enabled:=false;
    bbfirst.Enabled:=false;
    bbprior.Enabled:=false;
    bbNext.Enabled:=false;
    bbLast.Enabled:=false;
    bbcancel.Enabled:=true;
   end;

  procedure SetEditButtons;
  begin
    bbinsert.Enabled:=false;
    bbedit.Enabled:=false;
    bbdelete.Enabled:=false;
    bbsave.Enabled:=true;
    bbsearch.Enabled:=false;
    bbfirst.Enabled:=false;
    bbprior.Enabled:=false;
    bbNext.Enabled:=false;
    bbLast.Enabled:=false;
    bbcancel.Enabled:=true;
  end;

begin
  case FormMode of
    fmBrowse: SetBrowseButtons;
    fmInsert: SetInsertButtons;
    fmEdit:   SetEditButtons;
  end; { case }

end;

procedure TEditChildForm.SetFormMode(AValue: TFormMode);
begin
   FFormMode := AValue;
  if Assigned(FOnSetFormMode) then
    FOnSetFormMode(self);
  SetButtons;
  SetStatusBar;
end;

procedure TEditChildForm.SetStatusBar;
begin
  case FormMode of
    fmBrowse: pnlstate.Caption:= '正在浏览状态中...';
    fmInsert: pnlstate.Caption:= '正在新增状态中...';
    fmEdit:   pnlstate.Caption:= '正在修改状态中...';
  end;
end;

procedure TEditChildForm.BBinsertClick(Sender: TObject);
begin
  inherited;
  FormMode := fmInsert;
end;

procedure TEditChildForm.BBeditClick(Sender: TObject);
begin
  inherited;
  FormMode := fmEdit;
end;

procedure TEditChildForm.BBsaveClick(Sender: TObject);
begin
  inherited;
   FormMode := fmBrowse;
end;

procedure TEditChildForm.BBcancelClick(Sender: TObject);
begin
  inherited;
 FormMode := fmBrowse;
end;

end.

⌨️ 快捷键说明

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