![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Привет!
В моей программе есть кнопка, которая отображает текущую раскладку клавы. Перехватывала сообщение и выводила в название кнопки. код использовался такой: Код:
procedure TMainWindow.MsgHandler(var Msg: TMsg; var Handled: Boolean); var AbbrLangSystem: array[0..2] of char; begin if Msg.message = WM_INPUTLANGCHANGEREQUEST then begin ActivateKeyboardLayout(HKL_NEXT, KLF_ACTIVATE); GetLocaleInfo(LoWord(GetKeyboardLayout(0)),LOCALE_SISO639LANGNAME ,@AbbrLangSystem,SizeOf(AbbrLangSystem)); // bbLangs.Caption:=UpperCase(AbbrLangSystem); end; end; так вот в висте переключение клавы работает, но не отображает на кнопке!!!! может есть какая функция другая, или может другое решение можно найти |
#2
|
||||
|
||||
![]() Вышли плиз полный исходник. Очень интересно!
Поживу - увижу, Доживу - узнаю, Выживу - учту. ![]() [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
|
#3
|
|||
|
|||
![]() да это и есть всь исходник. это процедура сообщения.
в Form1.OnCreate прописывашь такую строку Application.OnMessage:=MsgHandler; и все! сообытие само ловится. |
#4
|
||||
|
||||
![]() Чё-то не катит.
Скинь полный текст на VYurikS@mail.ru Поживу - увижу, Доживу - узнаю, Выживу - учту. ![]() [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
|