Аббревиатура текущей раскладки
От: Carc Россия http://www.amlpages.com/home.php
Дата: 06.12.03 20:58
Оценка:
Как получить абревиатурку языка которая показывает текущую раскдладку клавиатуры в треде? И можно ли как-нибудь добыть стандартную иконку которую кажет винда сама?
Aml Pages Home
Re: Аббревиатура текущей раскладки
От: Leonid Troyanovsky  
Дата: 08.12.03 07:02
Оценка: 3 (1)
Здравствуйте, Carc, Вы писали:

C>Как получить абревиатурку языка которая показывает текущую раскдладку клавиатуры в треде? И можно ли как-нибудь добыть стандартную иконку которую кажет винда сама?


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


Для текущего: hkl:= GetKeyboardLayout(GetCurrentThreadId).
А иконки, кажется мне, там нет — просто текст на фоне.

--
С уважением, LVT
--
С уважением, LVT
Re: Аббревиатура текущей раскладки
От: ApceH Hypo  
Дата: 08.06.06 09:48
Оценка:
Здравствуйте, Carc, Вы писали:

C>Как получить абревиатурку языка которая показывает текущую раскдладку клавиатуры в треде? И можно ли как-нибудь добыть стандартную иконку которую кажет винда сама?


Очень просто и с дополнительными прелестями:

Text=Application.CurrentInputLanguage.Culture.ThreeLetterWindowsLanguageName;

Application.CurrentInputLanguage.Culture содержит несколько доп. свойств: форматы вывода языка и т.д.
Application.CurrentInputLanguage — чтение и запись!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.