Форум » [x]Harbour » Переключатель РУС/LAT в HARBOUR (miniGUI) ? » Ответить

Переключатель РУС/LAT в HARBOUR (miniGUI) ?

Softlog86: Собственно и спрашивается - какой функцией можно 'насильно' переключать язык ввода ? Например , при заполнении полей в формах ввода некоторые строчки - это латинские буквы , а некоторые - кириллица .... Интересует ещё и функции для чтения состояния языка ввода .

Ответов - 13

petr707: lis_eng := lis_eng_kbd(@rsl) ... ENG() ... RUS() ... Function lis_eng_kbd(rsl) rsl:=RASKLADKA() return (rsl== "00000409") //eng Function lis_rus_kbd(rsl) rsl:=RASKLADKA() return (rsl== "00000419") //rus #pragma BEGINDUMP #include "Windows.h" #include "hbapi.h" HB_FUNC(RUS) { LoadKeyboardLayout("00000419", KLF_ACTIVATE) ; } HB_FUNC(ENG) { LoadKeyboardLayout("00000409", KLF_ACTIVATE) ; } HB_FUNC(RASKLADKA) { TCHAR m_PreviousLayout[KL_NAMELENGTH] ; GetKeyboardLayoutName(m_PreviousLayout); hb_retc(m_PreviousLayout); } #pragma ENDDUMP

alexandr11: Помогите пожалуйста MiniGUI 2.4 в своей программе для сенсорного экрана сделал экранную клавиатуру на неск. языках коды клавиш бросаю в буфер работает нормально во всех окнах программы, переключаю язык с помощью LoadKeyboardLayout("00000419", KLF_ACTIVATE) но также программа взаимодействует с IE проблема в том, что LoadKeyboardLayout переключает язык только для текущего потока (или неправильно вызываю?), никак не влияет на ввод в браузере переключая язык ALT+SHIFT, русские буквы в браузере бьются при помощи GETKEYBOARDMODE из примера LANG_INDICATOR (огромное за него спасибо авторам), используя handle браузера, удается прочитать установленный для ввода в браузере язык но как установить язык глобально или для ввода в браузере?

Andrey: petr707 пишет: HB_FUNC(RUS) { LoadKeyboardLayout("00000419", KLF_ACTIVATE) ; } HB_FUNC(ENG) { LoadKeyboardLayout("00000409", KLF_ACTIVATE) ; } Давно пользуюсь этим. Отличная вещь ! Потребовался украинский язык. Как его добавить сюда ?


Pasha: попробуй 00000422

Петр: Pasha пишет: попробуй 00000422 Завтра могут и про Yoruba спросить, так что лучше сразу Keyboard Identifiers

Andrey: Поставил себе украинскую раскладку на 8.1 Выдает код - "00020422" Странно...

Петр: Andrey пишет: Странно.. Ну прямо таки.. Ukrainian 0x00000422 Ukrainian (Enhanced) 0x00020422

Andrey: Петр пишет: Ну прямо таки.. У меня Win 8.1, срабатывает Ukrainian (Enhanced) 0x00020422 А когда и где будет срабатывать - Ukrainian 0x00000422

Петр: У вас, скорее всего, установлены обе раскладки Ukrainian и Ukrainian (Enhanced).

Петр: Andrey пишет: А когда и где будет срабатывать - Ukrainian 0x00000422 Когда у вас язык ввода по умолчанию будет что-то типа Украинский (Украина) - Украинская, а не Украинский (Украина) - Украинская (расширенная)

Andrey: Спасибо !

taras56: Какую библиотеку цеплять ? KLF_ACTIVATE ??? нету ни в одном сh и h ?

taras56: Понял на BCC цеплять.



полная версия страницы