Вниз
Скачать: CL | DM;

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

← →
Dishar   (2002-05-29 20:13) [0]

Привет мастера! Такая проблема:
Как сделать , чтобы в МаскЕдит при указании фиксированной маски, в данном, конкретном случае три знака до и два после запятой, при запуске программы небыло необходимости вводить все эти знаки. Например: необходимо ввести число 123,33 в этом случае все нормально. Но если вдруг нужно ввести 55,2 , то тогда выдется ошибка и предлагается заполнить все знаки. Это первое, и второе.
Как убрать эти нижние подчеркивания?? да и запятую саму можно убрать, толька как? Весь хелп перерыл не нашел ответа. Помогите пожалуйста.
Заранее благодарен Dishar


← →
Dishar   (2002-05-29 21:22) [1]

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


← →
Пиноккио   (2002-05-29 23:29) [2]

Можно в маске вместо 0 ставить 9. Это позволяет вводить только цифру, но не требует её. То есть исключение не будет возбуждено. И в событии OnExit ты можешь сделать с текстом, что угодно. Выкинуть оставшиеся знаки подчеркивания или преобразовать их в нули.

Другой путь - перехватывать исключения в событии Application.OnException примерно таким образом:

if (E is EDBEditError) then
посылаем ESCAPE компоненту для отмены изменений
или изменяем текст MaskEdit

Недостаток этого метода, на мой взгляд, что нельзя знать к какому контролу хотел перейти пользовать. Можно найти следующий коньрол и отдать ему фокус, но может быть пользователь после редактирования ткнул мышкой на каком-то другом контроле.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.008 c
1-30765
Bosss20000
2002-05-30 17:39
2002.06.10
Использование диалога PasswordDlg


14-30969
anod
2002-05-06 00:19
2002.06.10
DDE


1-30881
opezhvv
2002-05-29 14:15
2002.06.10
Изменение размеров в RUNTIME


6-30940
capo
2002-03-29 18:18
2002.06.10
Telnet


1-30913
td
2002-05-30 06:41
2002.06.10
отладка Dll




   Наверх