|
|
|
Как ввести апостроф в Texbox при раскладке RU/UA
|
|||
|---|---|---|---|
|
#18+
Привет! Собственно возник сабжевый вопрос - в KeyPress это невозможно отловить, т.к. для CTRL+' нет кода, а только для ALT+' и этому код = 40 (проверял INKEY-ем - при любой раскладке клавы дает 40), но Visual FoxPro 9.0 Language Reference The KeyPress event does not occur for any combination of keys with the ALT key. Что же делать? Переключаться в англ. раскладку и обратно каждый раз - жутко неудобно! спасибо vfp9 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2008, 16:03 |
|
||
|
Как ввести апостроф в Texbox при раскладке RU/UA
|
|||
|---|---|---|---|
|
#18+
почему 40 - у меня 39 и не понятно зачем ctrl Proc Text1.KeyPress LPARAMETERS nKeyCode, nShiftAltCtrl && * SHIFT 1 , CTRL 2 , ALT 4 ==> CTRL+ALT = 2+4=6 !!! DO CASE CASE nKeyCode = 39 AND nShiftAltCtrl = 0 KEYBOARD ['] plain ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2008, 19:36 |
|
||
|
Как ввести апостроф в Texbox при раскладке RU/UA
|
|||
|---|---|---|---|
|
#18+
Вы невнимательно прочитали вопрос, особенно в части "раскладке RU/UA", что означает раскладку клавиатуры русскую/украинскую, при которой 39 на апострофе исключен. там будет код букв "Э"/"Є" соответственно. ALT или CTRL необходимы ради непереключения на английскую раскладку клавиатуры для ввода апострофа с, например, русской и затем обратно. а 39 с апострофа получаем только при анг. раскладке, тогда и танец с бубном нафиг... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2008, 20:23 |
|
||
|
Как ввести апостроф в Texbox при раскладке RU/UA
|
|||
|---|---|---|---|
|
#18+
Отловить нажатие этих клавишь можно с помощью API Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 09:10 |
|
||
|
Как ввести апостроф в Texbox при раскладке RU/UA
|
|||
|---|---|---|---|
|
#18+
Спасибо! По Вашей наводке сделал таким образом 1) создал класс таймера Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 2) сей таймер через AddObject() добавляю на LOAD-e форм, где есть текстбоксы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 12:39 |
|
||
|
Как ввести апостроф в Texbox при раскладке RU/UA
|
|||
|---|---|---|---|
|
#18+
А в событии KeyPress сделать этот анализ нельзя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 14:02 |
|
||
|
Как ввести апостроф в Texbox при раскладке RU/UA
|
|||
|---|---|---|---|
|
#18+
К сожалению нельзя, почему - я написал в первом посте... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 16:35 |
|
||
|
Как ввести апостроф в Texbox при раскладке RU/UA
|
|||
|---|---|---|---|
|
#18+
а если не умничать :), то это событие (ALT+') не является событием для KeyPress. Если б не этот факт то и вопроса б не возникло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 16:38 |
|
||
|
Как ввести апостроф в Texbox при раскладке RU/UA
|
|||
|---|---|---|---|
|
#18+
вообщето с таймером тоже не лучший выход... оно то сразу сработает, то не сразу. наверное интервал нада подобрать... ну а вообще лучше было бы если б какой-то другой способ был... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 16:47 |
|
||
|
Как ввести апостроф в Texbox при раскладке RU/UA
|
|||
|---|---|---|---|
|
#18+
Проверь, что горит лампочка над клавишей NumLock, затем нажми клавишу Alt и не отпуская ее набери на альтернативной цифровой клавиатуре 39. Затем отпусти клавишу Alt и посмотри, что окажется введенным в TextBox ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 17:11 |
|
||
|
Как ввести апостроф в Texbox при раскладке RU/UA
|
|||
|---|---|---|---|
|
#18+
Этот способ знаю со времен ДОСа... Только обучить этому армию юзеров... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 20:52 |
|
||
|
Как ввести апостроф в Texbox при раскладке RU/UA
|
|||
|---|---|---|---|
|
#18+
CTAC-KOЭтот способ знаю со времен ДОСа... Только обучить этому армию юзеров... Как мне кажется, даже если найдешь способ заставить работать Ctl+ или Alt+ все равно придется обучать армию юзеров. Так какая разница какому именно способу обучать? Причем, еще неизвестно, какой способ окажется понятнее для юзеров. Не проще ли тогда сделать дополнительный ToolBar со всеми возможными спец.символами, которых нет ни в руской, ни в украинской раскладке? А в ToolTips для каждого символа написать какой скан-код надо набирать на альтернативной цифровой клавиатуре. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 22:40 |
|
||
|
Как ввести апостроф в Texbox при раскладке RU/UA
|
|||
|---|---|---|---|
|
#18+
Да тут, понимаете, в чем дело - с одной стороны - да, на задуманную комбинацию надо обучить. Только интересно что в ряде виндовых приложений (в т.ч. MSWORD) при таких раскладках срабатывает как раз сочетание ALT+'. Это уже как некий стандарт нарисовалось и многие о нем знают. Правда там дважды нужно нажать. И самое интересное заключается в том, что я еще не сделав этого сам в своей проге в текстбоксах у одного юзера вводил апостроф через эту комбинацию (именно нажав дважды). Уж не знаю, настроил он это глобально в винде или как, но факт остается фактом. Теперь по поводу метода тулбара - это неудобно, т.к. требует мышки. Т.е. нужно отвлечься от ввода текста с клавы и навести мыхой куда нада, нажать, фокус свалит, надо опять нажать на текстбокс и тд. По поводу альт+39 - это уже 3 клавиши, причем цифру 39 еще нада запомнить, а альт после набора цифры 3 не отпустить - Вы же прекрасно знаете Кто такое юзВерЬ! А когда их много? А в случае с ALT+' - все нагляднее, ведь апостроф именно на той клавише, какую юзер и жмет, единственное что еще альт надо нажать... и еще интересно, что через winAPI одинаково срабатывает как ALT+' так и CTRL+' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 18:03 |
|
||
|
Как ввести апостроф в Texbox при раскладке RU/UA
|
|||
|---|---|---|---|
|
#18+
Еще один "кривоватый" вариант. Вместо TextBox использовать ActiveX-компонент Microsoft Rich TextBox Control. Его события KeyDown и KeyUp отлавливают подобные комбинации. Но здесь будет "засада" с родными горячими клавишами FoxPro. Их надо будет продублировать в ActiveX. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 19:15 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=41&tid=1587934]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
82ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
2ms |
| others: | 228ms |
| total: | 387ms |

| 0 / 0 |
