![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Имею:
MacBook Pro + Win 7 32bit (BootCamp) + Delphi XE2 Делаю: Код:
type OnAppMessage = procedure(var Msg: TMsg; var Handled: Boolean) of Object; TfrmMain = class(TForm) private FAppMessage: OnAppMessage; procedure ApplicationMessage(var Msg: TMsg; var Handled: Boolean); end; ..... procedure TfrmMain.FormCreate(Sender: TObject); begin FAppMessage := Application.OnMessage; Application.OnMessage := Self.ApplicationMessage; end; procedure TfrmMain.ApplicationMessage(var Msg: TMsg; var Handled: Boolean); begin if Msg.message = WM_INPUTLANGCHANGE then LayoutChange(LoWord(Msg.lParam)); end; Получаю: Моё приложение не получает такого сообщения вообще. Меняю раскладку с клавиатуры, меняю мышью в SystemTray - результат ноль. Ни WM_INPUTLANGCHANGEREQUEST, ни WM_INPUTLANGCHANGE. Вопрос: Подскажите, как можно перехватить смену раскладки при таком раскладе :-) |