Список установленных раскладок клавиатуры

Материал из DRKB

Список установленных раскладок клавиатуры[править | править код]

procedure GetKLList(List: TStrings);
var
  AList: array [0..9] of Hkl;
  AklName: array [0..255] of Char;
  i: Longint;
begin
  List.Clear;
  for i := 0 to GetKeyboardLayoutList(SizeOf(AList), AList) - 1 do
  begin
    GetLocaleInfo(LoWord(AList[i]), LOCALE_SLANGUAGE, AklName, SizeOf(AklName));
    List.AddObject(AklName, Pointer(AList[i]));
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  GetKLList(ListBox1.Items);
end;

procedure TForm1.ListBox1Click(Sender: TObject);
begin
  with Sender as TListBox do
    ActivateKeyboardLayout(Hkl(Items.Objects[ItemIndex]), 0);
end;


Source: Взято с сайта: http://www.swissdelphicenter.ch
ID: 01974