Управление раскладкой клавиатуры (27.11.2020). Печать
2020 - Ноябрь
27.11.2020 16:56
Save & Share
Программное изменение и контроль текущей раскладки клавиатуры. В интернете большинство примеров нерабочие, много заданных и одновременно нерешенных вопросов по данной теме. На примере Borland C++ Builder v.6.0. WinUser.h.

Отображение раскладки клавиатуры в ПО через две кнопки, текущая раскладка подсвечивается жирным шрифтом. Именно кнопки: до кнопки легче дотянуться мышкой, чем использовать комбинацию клавиш, - один щелчок.

DWORD dwTemp = 0;   
HKL hklLayout_Code = GetKeyboardLayout(dwTemp);

If (int(hklLayout_Code) == 0x4090409)
{
    Button_EN->Font->Style = TFontStyles() << fsBold;
    Button_RU->Font->Style = TFontStyles() >> fsBold;
}

if (int(hklLayout_Code) == 0x4190419)
{
    Button_EN->Font->Style = TFontStyles() >> fsBold;
    Button_RU->Font->Style = TFontStyles() << fsBold;
}

Смена раскладки клавиатуры через нажатие кнопок в ПО.
Button_ENClick(TObject *Sender){LoadKeyboardLayout("00000409", KLF_ACTIVATE);
Button_RUClick(TObject *Sender){LoadKeyboardLayout("00000419", KLF_ACTIVATE);
Обновлено ( 27.11.2020 16:59 )