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