Problemas com F10 e F12

Delphi

02/09/2005

Oi, Uso Delphi 6

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

Salupe

Curtidas 0

Melhor post

William_itm

William_itm

02/09/2005

Tente utilizar assim:

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;


GOSTEI 1

Mais Respostas

Rômulo Barros

Rômulo Barros

02/09/2005

Configure a propriedade [color=blue:927691a651]KeyPreview[/color:927691a651] do seu formulário para true.
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
Martins

Martins

02/09/2005

[quote:ef31f1c56c=´Rômulo Barros´]Configure a propriedade [color=blue:ef31f1c56c]KeyPreview[/color:ef31f1c56c] do seu formulário para true.
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
Bruno Belchior

Bruno Belchior

02/09/2005

no evento [b:90151d335b]OnKeyDown[/b:90151d335b] do formulário
  if Key = VK_F12 then
    ShowMessage(´F12´)
  else if Key = VK_F10 then
    ShowMessage(´F10´)
O F12 Chama a janela de CPF devido ser o atalho dela na IDE... uma prova disso é que você pode desabilitar o Depurador integrado em [b:90151d335b]Tools -> Debugger Options[/b:90151d335b] e desmarque a opção [b:90151d335b]Integrated Debugging[/b:90151d335b]... não se esqueça de fazer como o colega [b:90151d335b]Rômulo Barros[/b:90151d335b] comentou[quote:90151d335b=´Rômulo Barros´]Configure a propriedade KeyPreview do seu formulário para true[/quote:90151d335b]


GOSTEI 0
Martins

Martins

02/09/2005

Tente utilizar assim: 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;


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
Bruno Belchior

Bruno Belchior

02/09/2005

desculpem... leiam [b:211919038c]CPF[/b:211919038c] como [b:211919038c]CPU[/b:211919038c]... :oops:


GOSTEI 0
Martins

Martins

02/09/2005

[quote:e7c4f39917=´Bruno Belchior´]desculpem... leiam [b:e7c4f39917]CPF[/b:e7c4f39917] como [b:e7c4f39917]CPU[/b:e7c4f39917]... :oops:[/quote:e7c4f39917]

Blz Bruno, hehehe, eu quase acertei, :)

Um abraço galera!!!!


GOSTEI 0
POSTAR