Содержание материала

 

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;

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить