Fórum Como capturar o pressionamento da seta do teclado? #262658
19/12/2004
0
Alguém sabe como fazer ou tem alguma sugestão diferente?
Raserafim
Curtir tópico
+ 0Post mais votado
19/12/2004
procedure TForm1.TeclaSeta(var Msg: TMsg; var Handled: Boolean); begin If not (Screen.ActiveForm.ClassName = ´TMessageForm´) then begin If Msg.message = WM_KEYDOWN then begin Case Msg.wParam of VK_UP : ShowMessage(´cima´); VK_LEFT : ShowMessage(´esquerda´); VK_DOWN : ShowMessage(´baixo´); VK_RIGHT : ShowMessage(´direita´); end; end; end; end; procedure TForm1.FormCreate(Sender: TObject); begin Application.OnMessage := TeclaSeta; end;
Fabio.hc
Gostei + 1
Mais Posts
19/12/2004
Fabio.hc
Coloque True na propriedade KeyPreview do form.
Gostei + 0
19/12/2004
Raserafim
Gostei + 0
23/12/2004
Raserafim
Mas preciso complementar com uma coisa:
As setas do teclado funcionam, por padrão, como a tecla TAB. Preciso interceptar isso, pois em alguns botões quero que as setas assumam outras funções. Portanto preciso que ao pressionar as setas não o foco não seja passado para o próximo componente, e sim execute um determinado procedimento.
Gostei + 0
27/12/2004
Fabio.hc
... VK_UP: begin façaalgumacoisa; Msg.message:=0; end; ...
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)