![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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
|
||||
|
||||
|
Вышли плиз полный исходник. Очень интересно!
|
|
#3
|
|||
|
|||
|
да это и есть всь исходник. это процедура сообщения.
в Form1.OnCreate прописывашь такую строку Application.OnMessage:=MsgHandler; и все! сообытие само ловится. |
|
#4
|
||||
|
||||
|
Чё-то не катит.
Скинь полный текст на VYurikS@mail.ru |