Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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]

Что никто не знает что-ли? Вроде ничего сложного, просто я не знаю как, вы то должны знать :) Вроде все просто.


Наверх

Титульная страница Поиск, карта сайта Написать письмо