Имею:
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.
Вопрос:
Подскажите, как можно перехватить смену раскладки при таком раскладе :-)