![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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. Вопрос: Подскажите, как можно перехватить смену раскладки при таком раскладе :-) |