Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2002.05.09;
Скачать: [xml.tar.bz2];

Вниз

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

 
Broot   (2002-02-01 11:57) [0]

Подскажите, как сделать в своей проге индикатор раскладки клавиатуры. Существует ли системное событие, связанное с переключением раскладки? Существует функция GetKeyboardLayoutName, но не хотелось бы опрашивать состояние клавы по таймеру.


 
IronHawk   (2002-02-01 12:13) [1]

Узнаешь по каким кнопкам в системе меняеться раскладка и опрашивай GetKeyboardLayoutName при нажатиях на эти клавиши!
и при приёме и передаче фокуса в проге и самой проге !


 
Chris   (2002-02-01 13:33) [2]

>Broot

Не хочешь опрашивать по таймеру - опрашивай по Form1.OnKeyUp и Form1.OnMouseMove.

Но тормозить, наверно, будет страшно...


 
Broot   (2002-02-01 13:41) [3]

Если форма не активна в данный момент, но видна на экране, то такие способы не прокатят.


 
dimich   (2002-02-01 15:07) [4]

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 17:06) [5]

Dimich, спасибо конечно, но как это мне может помочь?


 
Dimka Maslov   (2002-02-01 17:34) [6]

При смене языка форма получает сообщения WM_INPUTLANGCHANGEREQUEST/WM_INPUTLANGCHANGE


 
Victor   (2002-02-11 08:37) [7]

можно ещё проще
{English} LoadKeyboardLayout("00000409", KLF_ACTIVATE);
{Russian} LoadKeyboardLayout("00000419", KLF_ACTIVATE);и так любой язык только посмотри в реестре какой код присваивать


 
limon   (2002-02-11 15:22) [8]

С полгода назад уже выкладывал класс по работе с клавиатурой, но куда-то он делся.
Раз вопросы начали подниматься снова, выкладываю в кладовку еще раз.


 
BOS   (2002-02-12 13:12) [9]

Dimka Maslov, а неподскажешь, как сделать так, чтобы эти сообщения получала неактивная форма (или скрытая в трэе, наподобие известных прграмм переключения раскладок клавиатуры)



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

Форум: "Система";
Текущий архив: 2002.05.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.005 c
1-26096
bobr12
2002-04-26 15:44
2002.05.09
Могут ли недоступные в данный момент компоненты получить фокус?


1-26066
Akim2
2002-04-25 19:37
2002.05.09
Форма AlwaysTop


14-26274
drpass
2002-04-01 05:08
2002.05.09
Новые возможности Delphi6


14-26267
kosty
2002-03-30 18:25
2002.05.09
интернет


1-26117
vlv
2002-04-24 14:37
2002.05.09
Обработка нажатия клавиш





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский