|
|
Устанавливает раскладку клавиатуры.
Синтаксис
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 в случае ошибки.
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+ | Руководство пользователя
|
|
|
|
|
|