Fórum Como chamar um form através de uma tecla? #256727

30/10/2004

0

Oi pesoal, estou tentando abrir um form de pesquisa mediante o presionamento da tecla (F2). coloquei o seguinte código:
procedure TFRm_EntraProduto.FormKeyPress(Sender: TObject; var Key: Char);
begin
  IF ( Key = #113) THEN
      Begin
        Key:=113;
         Application.CreateForm(TFrm_Cadprod,Frm_CadProd);
         Frm_CadProd.ShowModal;
         Frm_CadProd.Release;
        SelectNext((Sender as TWinControl),True,True);
      End;
end;

Mas infelizmente não obtive sucesso, alguém pode me ajudar?
peninha


Peninha

Peninha

Responder

Posts

30/10/2004

Tatuweb

O problema é que vc declarou a função no evento OnKeyPress. Basta declarar no evento OnKeyDown que não vai ter problema. Não se esqueça de colocar a propriedade KeyPreview do form para True.

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Key = vk_F2) then
    // faz alguma coisa
end;



Responder

Gostei + 0

30/10/2004

Vanderley

procedure TFRm_EntradaProduto.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if(Key = vk_F2)then begin
Application.CreateForm(TFrm_Cadprod,Frm_CadProd);
Frm_CadProd.ShowModal;
Frm_CadProd.Release;
SelectNext((Sender as TWinControl),True,True);
end;
end;
[color=green:006c396a00][/color:006c396a00]


Responder

Gostei + 0

03/11/2004

Gabeloni

Pessoal...,

Alguem poderia explicar o pq de não funcionar em OnKeyPress e funcionar em OnKeyDown ? Apenas curiosidade.., pois acabamos por fazer muito desses erros....

obrigado..., até !!


Responder

Gostei + 0

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

Aceitar