Советы по Delphi

         

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


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

Создайте 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;

Надеюсь, что помог вам,
Robert Wittig [000669]



Содержание раздела