|
#1
|
|||
|
|||
MaskEdit
Народ, подскажите плиз. Такая проблема.
На форме есть несколько МаскЕдитов. Как сделать так, штобы при заполнении до конца 1 МаскЕдита курсор ставился во 2-й, при заполнении 2-го - в 3-й и т.д. (т.е. тоже самое, как нажать Таб или кликнуть мышой на следуйщий МаскЕдит). Заранее спасибо! |
#2
|
||||
|
||||
SetFocus спасет гиганта мысли
|
#3
|
|||
|
|||
да я знаю чо такое SetFocus :-)
мне нужно узнать, есть ли какоенть свойство или метод у маскэдита, которое срабатывает при заполнении его до конца, штобы ПРИ ЕГО СРАБАТЫВАНИИ СДЕЛАТЬ УЖЕ СЭТФОКУС. Вот. |
#4
|
||||
|
||||
"заполнении до конца" это как понимать??? В эдите используется строка, до конца в таком случае будет порядка 2 гигабайт. Ты уверен, что кто-то будет столько заполнять???
А если ты фиксировал длину, дык тогд и проверяй в KeyUp, например, длину введенного текста, и если она равна требуемой вызывай SetFocus для следующего элемента управления. ИХМО, до этого не так сложно догадаться, или думать не хотим? |
#5
|
|||
|
|||
ясн. просто думал што может есть какое-нть стандартное свойство у маскедита. придецца проверять длину строки. спасибо.
|
#6
|
|||
|
|||
:-) оказалось не так то все просто...
Ввод в маскедит происходит по маске (у меня - 9999/90/90;1;_, 000\-000\-000\ 00;1;_ и д.р.). И длина строки (length(MaskEdit4.Text)) - постоянна (в 1 случае - 10, во втором - 14). Т.е. на событии KeyUp в независимости от количества введенных символов длина равно 10 и 14 соотвественно. Как быть в этом случае? |
#7
|
|||
|
|||
В это случае поступи так:
Создать новое приложение Поместить на форму TMaskEdit Установить фокус на компоненте TMaskEdit Нажать Ctrl+F1 В появившемся окне почитать методы класса TMaskEdit Главное - не лениться. Иногда 90% времени написания программы занимает чтение справки. Удачи ) |
#8
|
||||
|
||||
Я сроду не пользовался TMaskEdit т.к. считаю что быстрее и проще навешать на обычный TEdit нужные ограничения, да и визуально незаполненное поле ввода (TEdit) смотрится красивее, чем заполненное (TMaskEdit) шаблоном, потому что шрифты в системе крайне редко настроены моноширинные. Глядя на приведенные маски могу сказать, что для того чтобы понять заполнена маска или нет, для обеих достаточно проверять наличие в свойстве TMaskEdit.EditText символа "_" (подчеркивание).
|