📄 baseeditform.pas
字号:
unit BaseEditForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, BaseChildForm, ImgList, DB, Grids, Wwdbigrd, Wwdbgrid, ExtCtrls,
ComCtrls, StdCtrls, Buttons,BaseMainform,DataMod;
type
TfBaseEditForm = class(TfBaseChildForm)
PageControl: TPageControl;
tbsEdit: TTabSheet;
Panel2: TPanel;
btnNew: TBitBtn;
btnModify: TBitBtn;
btnDelete: TBitBtn;
btnSave: TBitBtn;
btnCancel: TBitBtn;
tbsBrowser: TTabSheet;
wwDBGrid: TwwDBGrid;
DataSource: TDataSource;
ImageList1: TImageList;
Panel1: TPanel;
pnlFieldsPanel: TPanel;
procedure DataSourceStateChange(Sender: TObject);
procedure btnNewClick(Sender: TObject);
procedure btnModifyClick(Sender: TObject);
procedure btnDeleteClick(Sender: TObject);
procedure btnSaveClick(Sender: TObject);
procedure btnCancelClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure PageControlChange(Sender: TObject);
procedure wwDBGridCalcCellColors(Sender: TObject; Field: TField;
State: TGridDrawState; Highlight: Boolean; AFont: TFont;
ABrush: TBrush);
private
{ Private declarations }
public
{ Public declarations }
FirstFocusControl: TWinControl;
end;
var
fBaseEditForm: TfBaseEditForm;
implementation
{$R *.dfm}
procedure TfBaseEditForm.DataSourceStateChange(Sender: TObject);
var
lState:Boolean;
begin
if DataSource.DataSet=nil then begin
btnNew.Enabled :=False;
btnModify.Enabled :=False;
btnDelete.Enabled :=False;
btnSave.Enabled :=False;
btnCancel.Enabled :=False;
pnlFieldsPanel.Enabled :=False;
tfBaseMainform(application.MainForm).NewRecord.Enabled :=false ;
tfBaseMainform(application.MainForm).ModifyRecord.Enabled :=False;
tfBaseMainform(application.MainForm).DeleteRecord.Enabled :=False;
tfBaseMainform(application.MainForm).PostRecord.Enabled :=False;
tfBaseMainform(application.MainForm).CancelRecord.Enabled :=False;
tfBaseMainform(application.MainForm).spbNew.Enabled :=False;
tfBaseMainform(application.MainForm).spbModify.Enabled :=False;
tfBaseMainform(application.MainForm).spbDelete.Enabled :=False;
tfBaseMainform(application.MainForm).spbPost.Enabled :=False;
tfBaseMainform(application.MainForm).spbCancel.Enabled :=False;
Exit;
end;
lstate:= Self.DataSource.DataSet.State in [dsInsert,dsEdit];
btnNew.Enabled:=not lstate;
btnModify.Enabled:=not lstate;
btnDelete.Enabled:=not lstate;
btnSave.Enabled:=lstate;
btnCancel.Enabled:=lstate;
pnlFieldsPanel.Enabled:=lstate;
wwdbgrid.Enabled :=not lstate;
tfBaseMainform(application.MainForm).NewRecord.Enabled :=not lstate ;
tfBaseMainform(application.MainForm).ModifyRecord.Enabled :=not lstate;
tfBaseMainform(application.MainForm).DeleteRecord.Enabled :=not lstate;
tfBaseMainform(application.MainForm).PostRecord.Enabled :=lstate;
tfBaseMainform(application.MainForm).CancelRecord.Enabled :=lstate;
tfBaseMainform(application.MainForm).spbNew.Enabled :=not lstate;
tfBaseMainform(application.MainForm).spbModify.Enabled :=not lstate;
tfBaseMainform(application.MainForm).spbDelete.Enabled :=not lstate;
tfBaseMainform(application.MainForm).spbPost.Enabled :=lstate;
tfBaseMainform(application.MainForm).spbCancel.Enabled :=lstate;
if (not lstate) and (Self.Visible=True) and btnNew.CanFocus then
btnNew.SetFocus;
if lstate and (FirstFocusControl<>nil)
and Self.FirstFocusControl.CanFocus then
FirstFocuscontrol.SetFocus ;
end;
procedure TfBaseEditForm.btnNewClick(Sender: TObject);
begin
if not AccessRight.AddRecord then Begin
Application.MessageBox('癸ぃ癬
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -