![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Раскладка клавиатуры
Broot © (2002-02-01 11:57:00)Подскажите, как сделать в своей проге индикатор раскладки клавиатуры. Существует ли системное событие, связанное с переключением раскладки? Существует функция GetKeyboardLayoutName, но не хотелось бы опрашивать состояние клавы по таймеру.
BOS (2002-02-12 13:12:00) [1]Dimka Maslov, а неподскажешь, как сделать так, чтобы эти сообщения получала неактивная форма (или скрытая в трэе, наподобие известных прграмм переключения раскладок клавиатуры)
limon (2002-02-11 15:22:00) [2]С полгода назад уже выкладывал класс по работе с клавиатурой, но куда-то он делся.
Раз вопросы начали подниматься снова, выкладываю в кладовку еще раз.
Victor (2002-02-11 08:37:00) [3]можно ещё проще
{English} LoadKeyboardLayout("00000409", KLF_ACTIVATE);
{Russian} LoadKeyboardLayout("00000419", KLF_ACTIVATE);и так любой язык только посмотри в реестре какой код присваивать
Dimka Maslov (2002-02-01 17:34:00) [4]При смене языка форма получает сообщения WM_INPUTLANGCHANGEREQUEST/WM_INPUTLANGCHANGE
Broot (2002-02-01 17:06:00) [5]Dimich, спасибо конечно, но как это мне может помочь?
dimich (2002-02-01 15:07:00) [6]function GetLanguage: string;
var
p: PChar;
begin
GetMem(p, KL_NAMELENGTH);
try
GetKeyboardLayoutName(p);
Result := p;
finally
FreeMem(p, KL_NAMELENGTH);
end;
end;
////Где то там////
slan:=GetLanguage;
if slan="00000409" then Panel2.Caption:="En";
if slan="00000419" then Panel2.Caption:="Ru";
Broot (2002-02-01 13:41:00) [7]Если форма не активна в данный момент, но видна на экране, то такие способы не прокатят.
Chris (2002-02-01 13:33:00) [8]>Broot
Не хочешь опрашивать по таймеру - опрашивай по Form1.OnKeyUp и Form1.OnMouseMove.
Но тормозить, наверно, будет страшно...
IronHawk (2002-02-01 12:13:00) [9]Узнаешь по каким кнопкам в системе меняеться раскладка и опрашивай GetKeyboardLayoutName при нажатиях на эти клавиши!
и при приёме и передаче фокуса в проге и самой проге !