Code: |
//Автор: Cheers, Julian (TeamB & TurboPower Software)
procedure WMGetDlgCode(var Msg : TMessage); message WM_GETDLGCODE; ... procedure TMyControl.WMGetDlgCode(var Msg : TMessage); begin Msg.Result := DLGC_WANTARROWS; end; |
Автор: Robert Wittig
Вы можете перехватывать нажатие курсорных клавиш на уровне приложения:
Создайте HandleMessages как метод формы и затем назначьте его Application.HandleMessages.
Code: |
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; |
- << Назад
- Вперёд
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!