![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Раскладка клавиатуры [D7]
Юрии © (2008-12-03 20:48:00)Как отловить момент переключение раскладки клавиатуры? Т.е. мне нужно запустить определенный код только в случае если пользователь переключил раскладку.
Спасибо.
Leonid Troyanovsky (2008-12-04 18:59:00) [1]
> Труп Васи Доброго © (04.12.08 15:57) [2]
http://www.rsdn.ru/forum/message/3170996.1.aspx
--
Regards, LVT.
Труп Васи Доброго (2008-12-04 15:57:00) [2]> if Msg.message = WM_INPUTLANGCHANGEREQUEST then
Странно, но эта константа равна 80, а при переключении с рус. на eng. Msg.message=49304
Loginov Dmitry (2008-12-03 23:13:00) [3]
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;