скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Перехват курсорных клавиш 2



Автор: Robert Wittig

Вы можете перехватывать нажатие курсорных клавиш на уровне приложения:

Создайте HandleMessages как метод формы и затем назначьте его Application.HandleMessages.


procedure tForm1.HandleMessages(var Msg: tMsg; var Handled: Boolean);
begin
  if (Msg.Message = WM_KeyDown) and
    (Msg.wParam in [VK_UP, VK_DOWN, VK_LEFT, VK_RIGHT]) then
  begin
    case Msg.wParam of
      VK_UP: ShowMessage('Нажата стрелка вверх');
      VK_DOWN: ShowMessage('Нажата стрелка вниз');
      VK_LEFT: ShowMessage('Нажата стрелка влево');
      VK_RIGHT: ShowMessage('Нажата стрелка вправо');
    end;
    Handled := True;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.OnMessage := HandleMessages;
end;






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook