Вниз
Скачать: CL | DM;

Раскладка клавиатуры   Найти похожие ветки 

 
Юрии   (2008-12-03 20:48) [0]

Как отловить момент переключение раскладки клавиатуры? Т.е. мне нужно запустить определенный код только в случае если пользователь переключил раскладку.

Спасибо.


 
Loginov Dmitry ©   (2008-12-03 23:13) [1]

function GetLanguage(lParam: Integer = 0): string;
var
 S: string;
begin
 SetLength(S, 8);
 if lParam <> 0 then
   ActivateKeyboardLayout(lParam , HKL_NEXT);
 GetKeyboardLayoutName(PChar(S));
 if S = "00000409" then
   Result := "EN"
 else if S = "00000419" then
   Result := "RU"
 else
   Result := "??";
end;

procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
 var Handled: Boolean);
begin
 if Msg.message = WM_INPUTLANGCHANGEREQUEST then
   Caption := GetLanguage(Msg.lParam);
end;


 
Труп Васи Доброго ©   (2008-12-04 15:57) [2]

> if Msg.message = WM_INPUTLANGCHANGEREQUEST then

Странно, но эта константа равна 80, а при переключении с рус. на eng. Msg.message=49304


 
Leonid Troyanovsky ©   (2008-12-04 18:59) [3]


> Труп Васи Доброго ©   (04.12.08 15:57) [2]

http://www.rsdn.ru/forum/message/3170996.1.aspx

--
Regards, LVT.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.007 c
2-1228379285
linx
2008-12-04 11:28
2009.01.18
Функция округления до данного знака.


1-1206352689
tytus
2008-03-24 12:58
2009.01.18
Как послать сообщение форме из скрипта FastReport


15-1225760423
borisich
2008-11-04 04:00
2009.01.18
А меня дочка родилась !!!!!!!!!!!


15-1227090166
matt
2008-11-19 13:22
2009.01.18
Assertion failed в Delphi 2007


15-1227508038
Xmen
2008-11-24 09:27
2009.01.18
Компоненты




   Наверх