下面的代码,功能在于 把按下 nbPost 和 nbInsert 键时,先判断一下,相关的输入框是否符合你自己的要求。
如果不符合就 Abort 它即可。
同理,可以将其它 按钮进行相应的处理以达到 修改其事件的目的。
说明一下:MsgBox 是被我简化过的 MessageBox 函数,代码如下:
如果不符合就 Abort 它即可。
同理,可以将其它 按钮进行相应的处理以达到 修改其事件的目的。
- procedure TfrmBaseSetup.DBNavigator1BeforeAction(Sender: TObject;
- Button: TNavigateBtn);
- begin
- case Button of
- nbPost,nbInsert :begin
- if Trim(DBEditEh1.Text)='' then begin
- MsgBox('种类不能为空!',1);
- DBEditEh1.SetFocus;
- Abort;
- end;
- if Length(DBEditEh2.Text)<>2 then begin
- MsgBox('前缀编号的长度必须为两位数字!',1);
- DBEditEh2.SetFocus;
- Abort;
- end;
- end;
- end;
- end;
说明一下:MsgBox 是被我简化过的 MessageBox 函数,代码如下:
- function MsgBox(Msg:Variant; Flag:longint=0;Title:string=''):integer;
- //简化MessageBox函数
- begin
- if length(title)=0 then title:=SApp_Name;
- case flag of
- 0:flag:=MB_OK + MB_ICONINFORMATION;
- 1:flag:=MB_OK + MB_ICONERROR;
- 2:flag:=MB_YESNO + MB_ICONERROR;
- 3:flag:=MB_YESNO + MB_ICONWARNING;
- 4:flag:=MB_YesNo +MB_ICONQUESTION;
- else
- flag:=MB_OK + MB_ICONERROR;
- end; Result:=application.MessageBox(pchar(vartostr(Msg)),pchar(Title),flag);
- end;