Вниз
Скачать: 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.014 c
1-8036
MsGuns
2002-09-22 17:01
2002.10.03
Не создает экземпляр класса TCollection


3-7835
Radimir
2002-09-12 14:59
2002.10.03
динамический SQL


3-7785
nevel
2002-09-16 07:19
2002.10.03
pack в программе


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


7-8182
Ученик
2002-07-24 10:42
2002.10.03
Перезапуск сервиса




   Наверх