![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TMaskEdit [D5, Win95/98]
Dishar © (2002-05-29 20:13:00)Привет мастера! Такая проблема:
Как сделать , чтобы в МаскЕдит при указании фиксированной маски, в данном, конкретном случае три знака до и два после запятой, при запуске программы небыло необходимости вводить все эти знаки. Например: необходимо ввести число 123,33 в этом случае все нормально. Но если вдруг нужно ввести 55,2 , то тогда выдется ошибка и предлагается заполнить все знаки. Это первое, и второе.
Как убрать эти нижние подчеркивания?? да и запятую саму можно убрать, толька как? Весь хелп перерыл не нашел ответа. Помогите пожалуйста.
Заранее благодарен Dishar
Пиноккио (2002-05-29 23:29:00) [1]Можно в маске вместо 0 ставить 9. Это позволяет вводить только цифру, но не требует её. То есть исключение не будет возбуждено. И в событии OnExit ты можешь сделать с текстом, что угодно. Выкинуть оставшиеся знаки подчеркивания или преобразовать их в нули.
Другой путь - перехватывать исключения в событии Application.OnException примерно таким образом:
if (E is EDBEditError) then
посылаем ESCAPE компоненту для отмены изменений
или изменяем текст MaskEdit
Недостаток этого метода, на мой взгляд, что нельзя знать к какому контролу хотел перейти пользовать. Можно найти следующий коньрол и отдать ему фокус, но может быть пользователь после редактирования ткнул мышкой на каком-то другом контроле.
Dishar (2002-05-29 21:22:00) [2]Что никто не знает что-ли? Вроде ничего сложного, просто я не знаю как, вы то должны знать :) Вроде все просто.