📄 editchildfrm.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 + -