Форум: "Основная";
Текущий архив: 2002.10.03;
Скачать: [xml.tar.bz2];
Внизошибка в 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 вся ветка
Форум: "Основная";
Текущий архив: 2002.10.03;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c