Tecla ENTER sendo reconhecida como TAB
Olá, ao verificar o clique da tecla ENTER no meu sistema, em duas telas diferentes, ela interpreta o codigo ASCII de forma diferente.
Em uma das telas, ela é reconhecida como codigo 13, o q está correto.
Na outra tela, ela é reconhecida como codigo 9, que seria o codigo do TAB.
Estou utilizando a mesma função alias, segue a baixo dois exemplos de codigo que estou testando, em ambos os casos, a Key é reconhecida erroneamente por uma das telas
Utilizo Delphi Seattle
Em uma das telas, ela é reconhecida como codigo 13, o q está correto.
Na outra tela, ela é reconhecida como codigo 9, que seria o codigo do TAB.
Estou utilizando a mesma função alias, segue a baixo dois exemplos de codigo que estou testando, em ambos os casos, a Key é reconhecida erroneamente por uma das telas
if Key = 13 then begin // codigo end; if Key = VK_RETURN then begin // codigo end;
Utilizo Delphi Seattle
Ramboli
Curtidas 0
Melhor post
Raimundo Pereira
09/11/2022
Use a função:
function TForm1.Tecla_Pressionada(const Key: Integer): Boolean;
begin
Result:=GetKeyState(key) and 128>0 ;
end;
No evento do campo:
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Tecla_Pressionada(13) then
BEGIN
ShowMessage('Tecla Enter');
END;
if Tecla_Pressionada(9) then
BEGIN
Keybd_Event(13, 0, 0, 0); //Simula a Tecla enter
END;
function TForm1.Tecla_Pressionada(const Key: Integer): Boolean;
begin
Result:=GetKeyState(key) and 128>0 ;
end;
No evento do campo:
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Tecla_Pressionada(13) then
BEGIN
ShowMessage('Tecla Enter');
END;
if Tecla_Pressionada(9) then
BEGIN
Keybd_Event(13, 0, 0, 0); //Simula a Tecla enter
END;
GOSTEI 1
Mais Respostas
Raimundo Pereira
07/11/2022
if Key = #13 then //Aqui é usado para o evento da tecla enter no metodo onkeypress
begin
// codigo
end;
if Key = VK_RETURN then //Aqui é usado para o evento da *tecla enter* no metodo onkeydown
begin
// codigo
end;
if Key = #9 then //Aqui é usado para o evento da tecla TAB no metodo onkeypress
begin
// codigo
end;
if Key = VK_TAB then //Aqui é usado para o evento da *tecla TAB* no metodo onkeydown
begin
// codigo
end;
begin
// codigo
end;
if Key = VK_RETURN then //Aqui é usado para o evento da *tecla enter* no metodo onkeydown
begin
// codigo
end;
if Key = #9 then //Aqui é usado para o evento da tecla TAB no metodo onkeypress
begin
// codigo
end;
if Key = VK_TAB then //Aqui é usado para o evento da *tecla TAB* no metodo onkeydown
begin
// codigo
end;
GOSTEI 1