Qual a diferença entre o OnKeyDown e o OnKeyPress??
17/02/2004
0
Agora gostaria de saber qual a diferença entre o evento OnKeyDown e o OnKeyPress..
No OnKeyPress como eu faria para utilizar as constantes VK_F1, VK_F2 e assim por diante?
Grato
Fausto
Faustoalves
Post mais votado
17/02/2004
Faustoalves
Mais Posts
17/02/2004
Logado
18/02/2004
Fabio.hc
[b:31748c0515]OnKeyDown[/b:31748c0515]: ocorre quando o usuário pressiona uma tecla.
Ex: Este edit exibirá o texto após o caracter digitado quando o usuário pressionar qualquer tecla.
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin Edit1.Text:=´Uma tecla foi pressionada´; end;
[b:31748c0515]OnKeyPress[/b:31748c0515]: ocorre quando o usuário pressiona uma tecla que corresponda a um caracter ASCII.
Ex: Este edit exibirá o texto após o caracter digitado quando o usuário pressionar qualquer tecla ASCII.
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin Edit1.Text:=´Uma tecla ASCII foi pressionada´; end;
[b:31748c0515]OnKeyUp[/b:31748c0515]: ocorre quando o usuário solta uma tecla.
Ex: Este edit exibirá o texto quando o usuário liberar uma tecla.
procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin Edit1.Text:=´Uma tecla foi solta´; end;
18/02/2004
Pantoja
nao entendi !!! :lol:
18/02/2004
Fvilela
E como eu faço para mostrar qual tecla foi pressionada passando o key como parametro;
ex.
if (ssCtrl in Shift) and (ssShift in Shift) then
begin
... Foi pressionado Ctrl + Shift + (A Key passada como parametro no
evento)
end;
Valew!!!!
Fernando
18/02/2004
Fabio.hc
nao entendi !!! :lol:[/quote:95fb4a44f7]
Pega este exemplo que passei e testa um de cada vez, e pressiona as teclas e veja o resultado.
Ex:
OnKeyPress:
´F1´ - não passa.
´A´ - passa.
18/02/2004
Fabio.hc
Ex: Para vc pegar Ctr+Shift+A
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (ssCtrl in Shift) and (ssShift in Shift) then if key = 65 then ShowMessage(´... Foi pressionado Ctrl + Shift + ´+chr(65)+´ (A Key passada como parametro no evento)´); end;
Obs: O primeiro IF só passa se for pressionado Ctrl + Shift, o segundo IF vc testa o Key que vc quer usar.
Clique aqui para fazer login e interagir na Comunidade :)