关于控件Tmaskedit的问题
delphi2007,我用Tmaskedit 控件,我在editmask1录入“!9999/99/00;1;_”,这样,就会出现“ - - ”的,我在运行是地,我在控件editmask1,录入“2011- - 1”时,一离开焦点时,出现下面的错误:
Invalid input value. Use escape key to abandon changes.
如果把这个英文改成中文,或者是我在离开焦点时,用什么事件,写什么语句,判断如果录入的格式不对时,提示“日期格式录入不对”
[解决办法]
修改Application的OnException事件,自定义出错提示信息
[解决办法]
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Mask, Buttons;type TMaskEdit = class(Mask.TMaskEdit) private protected function Validate(const Value: string; var Pos: Integer): Boolean; override; end; TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; MaskEdit1: TMaskEdit; BitBtn1: TBitBtn; MaskEdit2: TMaskEdit; private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}{ TMaskEdit }function TMaskEdit.Validate(const Value: string; var Pos: Integer): Boolean;var vDate:TDateTime;begin Result := True; // 这里可以写你的判断逻辑;想怎么弄都可以!比如 if not TryStrToDate(Value,vDate) then begin ShowMessage('日期格式录入不对'); Text := ' / / '; Exit; end; Result := inherited Validate(Value,Pos);end;end.