Автопереключение раскладки
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Автопереключение раскладки
Прошу прощения если уже было, тогда пошлите на.... ссылочку
Как автоматически переключать с РУС на ENG при переходе в определенное поле и переключать наоборот при выходе с него ?
Как автоматически переключать с РУС на ENG при переходе в определенное поле и переключать наоборот при выходе с него ?
Re: Автопереключение раскладки
Необязательно переключать раскладку, может быть перехватывать нажатия клавиш и преобразовывать каждый символ на лету ?
- Дед Пахом
- Старичок
- Сообщения: 3289
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 15 раз
- Поблагодарили: 49 раз
- Контактная информация:
Re: Автопереключение раскладки
переключение реализуется с помощью WinAPI LoadKeyboardLayout(), ActivateKeyboardLayout(), UnloadKeyboardLayout()
С уважением, ДП
-
- ✯ Ветеран ✯
- Сообщения: 5161
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Re: Автопереключение раскладки
Давным-давно выкладывали пример и удобную функцию.
Описание Win-API функций:
Функция переключения:
Пример использования:
Описание Win-API функций:
Код: Выделить всё
GetKeyboardLayout(DWORD),HKL,pascal
GetKeyboardLayoutNameA(*LPSTR),BOOL,pascal,raw
Код: Выделить всё
HKL EQUATE(UNSIGNED)
SwitchKBD Procedure (KBDLayout)
AKL HKL
TMP CSTRING(20)
loc:i Long
Code
loc:i = GetKeyboardLayoutNameA(Tmp)
if Tmp<>KBDLayout
AKL = ActivateKeyBoardLayout(1,0)
end
Код: Выделить всё
case field()
of ?COU:NameLat
orof ?COU:FullNameLat
SwitchKBD(Latin)
else
SwitchKBD(Russian)
end
We are hard at work… for you. 

-
- ✯ Ветеран ✯
- Сообщения: 5161
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Re: Автопереключение раскладки
Вот это имеется ввиду:
Или что?
Код: Выделить всё
Latin CSTRING('00000409')
Russian CSTRING('00000419')
HKL EQUATE(UNSIGNED)
We are hard at work… for you. 

-
- ✯ Ветеран ✯
- Сообщения: 5161
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Re: Автопереключение раскладки
Сорри.
Код: Выделить всё
ActivateKeyboardLayout(HKL,UNSIGNED),HKL,pascal
We are hard at work… for you. 
