Tecla tab

15/05/2008

4

como saber se a tecla tab foi pressiona quando o focus esta em um botão?
O evento onkeypress e KeyDown não reconhece o pressionamento nem das teclas nem do tab. Tenho que mudar alguma propriedade?

Emílio


Responder

Posts

15/05/2008

Mazzi

Oi, nao sei se entendi direito mas, pode ser usado assim:

1- Ative no Form a propriedade KeyPreview para TRUE;

2- No evento ONkeyUP (por exemplo):

[b:fbf3909e9f]procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = vk_Tab then
ShowMessage(´Deu tab´);

//Seu codigo aki//

end;[/b:fbf3909e9f]

Dessa forma vale pro formulario todo.

[color=red:fbf3909e9f]Para saber no caso do Botáo, vc teria no exemplo abaixo, um botao especifico que no caso eu chamo de btn1:[/color:fbf3909e9f]
[b:fbf3909e9f]procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key = vk_Tab) and (btn1.Focused =True) then
ShowMessage(´Deu tab´);
end;

end.[/b:fbf3909e9f]


Responder

16/05/2008

Emilio

O problema maior é que quando o focus esta no botão e eu pressiono tab o focus passa para o proximo botão sem executar o codigo, mas quando eu venho de um outro botão usando o tab ele executa o tab.


Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar