JS+
Усиленный язык сценариев для Windows
с возможностью встраивания
в ваши приложения
О языке JS+ Справочник Скачать JS+ DLL
Контакты
СПРАВОЧНИК ПО ЯЗЫКУ JS+ Содержание

LoadKeyboardLayout

- функция WinAPI
Функции WinAPI
Устанавливает раскладку клавиатуры.
Синтаксис
function LoadKeyboardLayout(
  klID,
  Flags
): Number;

Параметры
Параметр Тип Описание
klID String идентификатор раскладки клавиатуры
Flags Enumset флаги установки раскладки (см. ниже)

Параметр Flags
Значение Описание
KLF_ACTIVATE если указанная раскладка еще не загружена, функция загружает и активизирует раскладку для текущего потока, вставляя раскладку в голову списка раскладок символов на клавиатуре, впереди активной предыдущей раскладки. Если раскладка уже загружена, а значение KLF_REORDER не дается, функция просто вращает список раскладок символов на клавиатуре, делая следующую раскладку активной.
KLF_SUBSTITUTE_OK заменяет указанную раскладку другой раскладкой, предпочитаемой пользователем. Замена происходит, если ключ реестра HKEY_CURRENT_USER\Keyboard Layout\Substitutes явно определяет замену раскладки. Система использует KLF_SUBSTITUTE_OK при загрузке, и рекомендуется, чтобы все прикладные программы также использовали это значение.
KLF_REORDER перемещает указанную раскладку в голову списка раскладок символов на клавиатуре, делая ее активной для текущего потока.
KLF_REPLACELANG если новая раскладка имеет тот же идентификатор языка, что и текущая раскладка, новая раскладка заменяет текущую как раскладку для этого языка. Если это значение не указывается, а раскладки имеют те же самые идентификаторы языка, текущая раскладка не заменяется, а функция возвращает значение null.
KLF_NOTELLSHELL используется при загрузке многочисленных раскладок (одна за другой). Применение этого значения, ко всем кроме последней раскладки, задерживает обработку, пока не будут добавлены все раскладки.
KLF_SETFORPROCESS активизирует указанную раскладку для всего процесса и отправляет сообщение WM_INPUTLANGCHANGE с фокусом или активному окну текущего потока. Без этого флага функция LoadKeyboardLayout активизирует раскладку только текущего потока. Используется только совместно с флагом KLF_ACTIVATE.
KLF_SHIFTLOCK используется совместно с флагом с KLF_RESET.
KLF_RESET если этот флаг установлен, а флаг KLF_SHIFTLOCK не установлен, режим клавиши Caps Lock выключается повторным нажатием клавиши Caps Lock. Если указанный флаг установлен и флаг KLF_SHIFTLOCK также установлен, режим Caps Lock выключается нажатием любой клавиши SHIFT. Эти два метода являются взаимоисключающими, и настройка сохраняется как часть Профиля пользователя в системном реестре.
Возвращаемое значение
Возвращает числовой идентификатор запрошенной раскладки или 0 в случае ошибки.
Пример (JS+)
var Tab=15;

// Главная форма
frm=new TForm();
frm.Caption="JS+ - функция WinAPI LoadKeyboardLayout";
frm.Width =450;
frm.Height=300;

// Строка ввода
edt=new TEdit(frm);
edt.BorderStyle=bsSingle;
edt.Left=Tab;
edt.Width=frm.ClientWidth-edt.Left*2;
edt.Top=(frm.ClientHeight-edt.Height)/2;
edt.SetFocus();

// Кнопка 1
bt1=new TButton(frm);
bt1.strTag="ENG";
bt1.Caption="English";
bt1.Left=frm.ClientWidth -bt1.Width -Tab;
bt1.Top =frm.ClientHeight-bt1.Height-Tab;
bt1.OnClick=btn_Click;

// Кнопка 2
bt2=new TButton(frm);
bt2.strTag="RUS";
bt2.Caption="Русский";
bt2.Left=bt1.Left-bt2.Width-Tab;
bt2.Top =bt1.Top;
bt2.OnClick=btn_Click;

frm.ShowModal();

// Обработчик события OnClick
function btn_Click(btn)
{
  var ID_Str;

  switch (btn.strTag) {
    case "ENG": ID_Str="00000409"; break;
    case "RUS": ID_Str="00000419";
  }

  LoadKeyboardLayout(ID_Str,KLF_ACTIVATE);
  edt.SetFocus();
}
Совместимость
Windows API
JS+Руководство пользователя
Адрес этой страницы: http://jsplus.ru/MANUAL/JSPlus/WinAPI/Function/LoadKeyboardLayout.htm
© 2024,