Fórum OnKeyPress e OnkeyDown. Mensagem ao apertar uma tecla #241331

05/07/2004

0

Pq?
este código não faz nada.

begin
if key=#112 then
showmessage(´Teste´);
end

Ele esta no Onkeypress do form e o KeyPreviw esta true.

E quando uso esta outra conbinação no OnkeyDown

begin
if key=VK_F1 then
showmessage(´Teste´);
end
Qualquer tecla apertada executa a mensagem.

Onde estou errando.


Uoquisala

Uoquisala

Responder

Posts

05/07/2004

Lucas Silva

Já verificou se não tem alguma tela, em que a tecla de atalho é o F1?


Responder

Gostei + 0

05/07/2004

Weber

propriedade KeyPreview do formulário tem que estar como true.


Responder

Gostei + 0

05/07/2004

Uoquisala

Vc diz alguma tecla de atalho do windows, pois no sistema n ha atalho nenhum

[quote:d8fc5b50a6=´Lucas Alves Silva´]Já verificou se não tem alguma tela, em que a tecla de atalho é o F1?[/quote:d8fc5b50a6]


Responder

Gostei + 0

05/07/2004

Lucas Silva

Vc diz alguma tecla de atalho do windows, pois no sistema n ha atalho nenhum [quote:e941d0570a=´Lucas Alves Silva´]Já verificou se não tem alguma tela, em que a tecla de atalho é o F1?
[/quote:e941d0570a]
Algum [b:e941d0570a]ShortCut[/b:e941d0570a], em algum menu, ou coisa do tipo!


Responder

Gostei + 0

05/07/2004

Vinicius2k

Colega,

Note que ´p´ é diferente de ´P´, então fará diferença a caixa alta com CapsLock ou Shift...
if (key = #112) or (key = 80) then ShowMessage(´Teste´);


Espero ter ajudado...
T+


Responder

Gostei + 0

05/07/2004

Uoquisala

Certo mais para F1 existe Caixa Alta??

Pois se existir e novidade pra mim!!!

112 = F1.

Colega, Note que ´p´ é diferente de ´P´, então fará diferença a caixa alta com CapsLock ou Shift...
if (key = #112) or (key = 80) then ShowMessage(´Teste´);
Espero ter ajudado... T+



Responder

Gostei + 0

05/07/2004

Vinicius2k

112 = F1.

Não...

[color=red:c4bf531118]112[/color:c4bf531118] (word) = F1 no evento OnKeyDown...
procedure TForm1.FormKeyDown(Sender: TObject; [b:c4bf531118]var Key: Word[/b:c4bf531118]; Shift: TShiftState);


[color=red:c4bf531118]#112[/color:c4bf531118] (char) = ´p´ no evento OnKeyPress...
procedure TForm1.FormKeyPress(Sender: TObject; [b:c4bf531118]var Key: Char[/b:c4bf531118]);


Se vc deseja que a aplicação responda ao F1 tem que usar o evento OnKeyDown para isso e não OnKeyPress... e vc pode usar o código da tecla ou o Virtual KeyCode (vk) pré-definido...

T+


Responder

Gostei + 0

05/07/2004

Diorgenes175

cara, faz assim:

no OnKeyDown do form põe:


if (key = 112) then
ShowMessage(´Teste´);


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar