|
|
|
анправление ввода в текстбокс
|
|||
|---|---|---|---|
|
#18+
Имеется форма,на форме есть листбокс(лист1) и текстбокс(текст1).Листбокс содержит восемь типов документов.В зависимости от того какой выбираешь в текстбоксе ему назначается соответствующая маска.Хорошо когда маск--99 99 999999, или ххххххххх.Проблемы начинаются с типДокумента---совпаспорт-- ХХХХХХ-АА 999999, где вместо ХХХХХХ--должны быть римские цифры от 1 до 33(I-XXXIII).Как облегчить труд оператора?Вводить приходится много и каждый раз переходить с рус на лат плюс при этом жать capsLock,так же курсором нужно поймать нужную позицию перед тире....теряется много времени.Я думал может ввести замену--т.е. вводить арабскими а передавать значение римскими... Помогите пожалуйста.Прилогается две формы прожекта---весь он большой немогу закинуть---str_num--та о которой я говорю, Gregg--та на которую я передаю значение документа и о которой я в сообщении не упоминал почти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2006, 09:40 |
|
||
|
анправление ввода в текстбокс
|
|||
|---|---|---|---|
|
#18+
Попробуй через процедуру KeyPress. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2006, 15:11 |
|
||
|
анправление ввода в текстбокс
|
|||
|---|---|---|---|
|
#18+
К сожалению, символы маски невозможно использовать как вводимый текст. Следовательно, вместо маски придется вручную анализировать текущую позицию курсора (TextBox.SelStart) и перехватывать нажатую клавишу в событии TextBox.KeyPress(). Т.е. получается, что надо не маску менять, а менять обработчик события KeyPress. Логичным решением будет несколько классов TextBox. На форму кладешь PageFrame с нужным количеством закладок и на каждую закладку свой TextBox. С нужным обработчиком события KeyPress или с нужной маской в простом случае. При выборе элемента ListBox просто активизируешь нужную страницу этого PageFrame (PageFrame.ActivePage = ...). Чтобы визуально этого PageFrame для пользователя как бы не существовало делаешь ему такие настройки: PageFrame.Tabs = .F. PageFrame.BorderWidth = 0 Примерный код TextBox.KeyPress для номера паспорта будет таким: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2006, 15:40 |
|
||
|
анправление ввода в текстбокс
|
|||
|---|---|---|---|
|
#18+
Есть простой вариант - таблица замещения. Одно поле - русский символ, другое - тот, который нужен. KeyPre ил LostFoc где паспорт выбирает всегда в таблице и подпихивает из второго столбца. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2006, 23:39 |
|
||
|
анправление ввода в текстбокс
|
|||
|---|---|---|---|
|
#18+
Cпасибо всем!Особенно ВладимируМ!Очень интересное решение,в нем чувствуется надежность.ВладимирМ--вы супер!Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 16:06 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34142269&tid=1590334]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
150ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 466ms |

| 0 / 0 |
