Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > ОС и железо
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.11.2011, 14:31
WanderAlone WanderAlone вне форума
Прохожий
 
Регистрация: 01.11.2011
Сообщения: 3
Репутация: 10
По умолчанию WinAPI window messages (WM_INPUTLANG)

Имею:
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.

Вопрос:
Подскажите, как можно перехватить смену раскладки при таком раскладе :-)
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:07.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025