Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.29;
Скачать: CL | DM;

Вниз

TMaskEdit   Найти похожие ветки 

 
Georg   (2002-07-15 15:49) [0]

Доброго времени суток! Подскажите плз, как можно заменить пробелы в MaskEdit на нули, когда фокус переходит на другой элемент. Пытался проверять в OnExit, но до него вызывается другое событие и выскакивает сообщение "Неверное время". Как бы мне его опередить?
Заранее спасибо.


 
valery_f   (2002-07-15 16:28) [1]

> до него вызывается другое событие

Никакого другого события нет. MaskEdit, получая сообщение о потере фокуса, первым делом проверяет текст на соответствие маске (и если что - свистит), и только если все в порядке - зовет OnExit (см. сорцы). Можно так - сразу задать значение в св-во Text "00:00", а контроль на пробелы - в OnChange. Не слишком красиво, но зато просто :) А посложнее, к примеру, - сделать наследника TMaskEdit и перебить procedure CMExit на свой лад:

procedure TCustomMaskEdit.CMExit(var Message: TCMExit);
begin
//позвать свое событие, что-то типа OnBeforeExit
//на предмет заполнения отсутствующих кусков текста
inherited;
end;


 
Andrey007   (2002-07-15 16:43) [2]

На OnChange надо повесить такой обработчик:

with Sender as TMaskEdit do if Text=sEmptyTime then Modified:=False;

где sEmptyTime - константа строкового типа, например " : ".



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

Текущий архив: 2002.07.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
4-95616
The great man
2002-05-22 09:59
2002.07.29
Как сделать запрос на номер программы при первом запуске.


14-95570
muzik
2002-06-27 17:33
2002.07.29
Сокеты!


1-95369
proc
2002-07-15 20:07
2002.07.29
Генерация объектов в run-time


14-95492
Fellomena
2002-06-27 12:11
2002.07.29
Vortex1 + Win2k -> Дикий гемор с 11-ым прерыванием!!!


3-95209
nitro313
2002-07-08 02:40
2002.07.29
Народ, подскажите как сохранять поле increment в при удалении?