Вниз
Скачать: CL | DM;

ошибка в MaskEdit   Найти похожие ветки 

 
lety   (2002-09-20 18:39) [0]

В MaskEdit`е создается маска для даты (" . . "). Если при вводе даты не дописать ее до конца, и перейти к друкому контролу, то возникает ошибка с сообщением "Invalid input value. Use escape key to abadon changes." В событии OnExit ее перехватить не получается (она генерируется раньше?).
Что можно сделать?


 
lety   (2002-09-21 20:42) [1]

up


 
ZrenBy ©   (2002-09-21 20:51) [2]

Установи свойство EditMask := "!99/99/9999;1;_";
А onExit поставь типа

procedure TfMain.MaskEdit1Exit(Sender: TObject);
var f:Double;
begin
try
f := StrToDate(maskedit1.text);
except
maskedit1.setfocus;
end;
if(f<10000000)then maskedit1.setfocus;
end;


 
TTCustomDelphiMaster ©   (2002-09-21 21:45) [3]

Создайте потомка TMaskEdit и перепишите метод ValidateEdit


 
lety   (2002-09-21 22:23) [4]

э! В том-то и дело, что onExit не успевает - ошибка происходит раньше..
А без потомков можно? Мне очень сложно.


 
ZrenBy ©   (2002-09-21 22:29) [5]

У меня всё прекрасно работает.
Обращаю внимание, что

EditMask := "!99/99/9999;1;_";

Если там стоит "!99/99/0000;1;_", то действительно
вылазит сообение.


 
TTCustomDelphiMaster ©   (2002-09-21 23:04) [6]

Без потомков никак.

type
TMyMaskEdit = class(TMaskEdit)
procedure ValidateEdit; override;
end;

...

implementation

procedure TMyMaskEdit.ValidateEdit;
begin
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
With TMyMaskEdit.Create(self) do
begin
EditMask := "000;1;_";
Parent := Form1;
top := 10;
left := 10;
end;
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.009 c
3-7849
Slava_BAZ
2002-09-13 07:09
2002.10.03
Отчёт из 3 таблиц?


14-8151
MaximatorVeter
2002-09-09 11:43
2002.10.03
Мелочи жизни


7-8190
Uridian
2002-07-26 14:30
2002.10.03
Слежение за процессом печати


1-7980
Arkan
2002-09-19 21:53
2002.10.03
Lnk.


1-8018
lety
2002-09-20 18:39
2002.10.03
ошибка в MaskEdit




   Наверх