Qual a diferença entre o OnKeyDown e o OnKeyPress??
Pessoal desisto, à dias estou tentando obter uma resposta sobre um problema em minhas aplicações om o evento OnKeyDown e o Setfocus.
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
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
Curtidas 0
Melhor post
Faustoalves
17/02/2004
o OnKeyPress é utilizado para manipular o pressionamento de uma única tecla. [F2] por exemplo.
o OnKeyDown serve para manipular o pressionamento de um conjunto de teclas. [CTRL]+[C], [CTRL]+[SHIFT]+[B] por exemplo
GOSTEI 2
Mais Respostas
Logado
17/02/2004
Naum sei, mas creio eu q o OnKeyPress deve ser o evento acionando enquando se está precionando a tecla(mantendo-a precionada) e onKeydown o evento de apertar a tecla só com um toque normalmente
GOSTEI 0
Fabio.hc
17/02/2004
Completando a informação.
[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.
[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.
[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.
[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;
GOSTEI 0
Pantoja
17/02/2004
me explica ai Fabio ... me diz a diferença entre ´uma tecla foi pressionada´ e ´ Uma tecla ascii foi pressionada ´...
nao entendi !!! :lol:
nao entendi !!! :lol:
GOSTEI 0
Fvilela
17/02/2004
AE!!
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
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
GOSTEI 0
Fabio.hc
17/02/2004
[quote:95fb4a44f7=´Professor Algoritmo´]me explica ai Fabio ... me diz a diferença entre ´uma tecla foi pressionada´ e ´ Uma tecla ascii foi pressionada ´...
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.
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.
GOSTEI 0
Fabio.hc
17/02/2004
AE!!
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
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.
GOSTEI 0