Fórum Problemas com F10 e F12 #294254
02/09/2005
0
Estou precisando utilizar ou a F10 ou a F12 para fazer a abertura de uma tela de atalhos no meu sistema.
Só que quando utilizo a F12 simplesmente trava o sistema, e a F10 simula como se tivesse teclado o alt e abre o menu de canto da tela.
Utilizando o F8 funciona corretamente, alguem sabe qual o problema.
Agradeço antecipadamente qualquer ajuda.
Sandro
Salupe
Curtir tópico
+ 0Post mais votado
02/09/2005
procedure .....
begin
case key of (ou IF se preferir ...)
vk_F10: begin
{Chama Formulário}
Abort;
end;
vk_F12: begin
{Chama Formulário}
Abort;
end;
end;
end;
William_itm
Gostei + 1
Mais Posts
02/09/2005
Rômulo Barros
Agora, no evento OnKeyDown do Formulário faça:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin If((Key = vk_F10)Or(Key = vk_F12))Then Begin Label1.Caption := ´10´ End; end;
[color=blue:927691a651][b:927691a651]Obs:[/b:927691a651][/color:927691a651] Rodando por dentro do delphi, quando teclo F12, dá erro. Mas, quando rodo por fora do delphi funciona perfeitamente. [u:927691a651]Para a primeira citação, não sei qual é o problema.[/u:927691a651]
Gostei + 0
02/09/2005
Martins
Agora, no evento OnKeyDown do Formulário faça:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin If((Key = vk_F10)Or(Key = vk_F12))Then Begin Label1.Caption := ´10´ End; end;
[color=blue:ef31f1c56c][b:ef31f1c56c]Obs:[/b:ef31f1c56c][/color:ef31f1c56c] Rodando por dentro do delphi, quando teclo F12, dá erro. Mas, quando rodo por fora do delphi funciona perfeitamente. [u:ef31f1c56c]Para a primeira citação, não sei qual é o problema.[/u:ef31f1c56c][/quote:ef31f1c56c]
Testei aqui e vi q dá erro mesmo, ele abre o debug e mostra o código asm, e não sei não, mas talvez é pq ele continua mantendo o controle da aplicação sei lá, e F12 é q faz ele alternar entre unit/form, só uma opnião q pode ser contestada por quem realmente saiba o pq do erro.
Um abraço!!!
Gostei + 0
02/09/2005
Bruno Belchior
if Key = VK_F12 then ShowMessage(´F12´) else if Key = VK_F10 then ShowMessage(´F10´)
Gostei + 0
02/09/2005
Martins
O seu código faz o mesmo que o do Romulo faz.
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin If((Key = vk_F10)Or(Key = vk_F12))Then Begin Label1.Caption := ´10´ End; end;
O erro não está no código, pq sem o Delphi ativo ele funfa blz, o problema é com o Delphi aberto, pode rodar qualquer prog pelo run do delphi e depois tecla F12 e vc vai ver como vai dar pau, continuo achando q tem algo a ver com a questão de que o aplicativo rodado pelo [b:3ea2abd96b]run[/b:3ea2abd96b], é como se fosse o dosshell, para quem programou em clipper e precisava acessar a tela do MS-DOS por dentro do sistema sabe do q falo, funcionava como se fosse um emulador, continua sendo só uma sugestão, seria bom se alguém aqui realmente soubesse do q se trata.
Um abraço!!!
Gostei + 0
02/09/2005
Bruno Belchior
Gostei + 0
02/09/2005
Martins
Blz Bruno, hehehe, eu quase acertei, :)
Um abraço galera!!!!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)