raize的rzDatetimeEdit控件 ,当我输入一个非法日期 “2008-32-16”,当焦点离开时,日期自动变为“2008-10-16”,
我想在onExit事件中,自己添加日期合法性验证都不能实现,因为在onExit事件触发前,
日期已经变成了"2008-10-16",请达人救我,如何不让日期自己变啊
我想在onExit事件中,自己添加日期合法性验证都不能实现,因为在onExit事件触发前,
日期已经变成了"2008-10-16",请达人救我,如何不让日期自己变啊
找到下面的代码:procedure TRzDateTimeEdit.DoExit;
begin
inherited;
if not FValidating and not ( csDestroying in ComponentState ) then
begin
FValidating := True;
try
try
ReformatDateTime;
except
// Must display error message first, then set focus back to control
Application.MessageBox( PChar( sRzDateRange ),
PChar( Application.Title ),
MB_OK + MB_ICONSTOP );
SetFocus;
end;
finally
FValidating := False;
end;
end;
end;将那句重新格式化日期的代码 ReformatDateTime; 注释掉, 重新编译
原来是false的,设置成true,
原来是true的,设置成false,
跟老之的类似,本来以为在这里问不到答案了,还好我自己解决了。
看来这里还是有高手在德。
我将ReformatDateTime函数中的raize自己的格式化函数,改为了trystrtodate。