Вниз
Скачать: 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-7841
Aristarh
2002-09-10 17:20
2002.10.03
2NickBat: CM-это не Championship Manager?


14-8144
FLIZ_
2002-09-04 11:49
2002.10.03
как в InstallShieldExpress сделать заголовок русским шрифтом?


7-8179
Юра
2002-07-04 23:34
2002.10.03
SoundCard


6-8084
Alex90210
2002-08-02 13:46
2002.10.03
Socket ы


1-7991
Metotrone
2002-09-21 00:35
2002.10.03
Закрытие программы




   Наверх