Como chamar um form através de uma tecla?
Oi pesoal, estou tentando abrir um form de pesquisa mediante o presionamento da tecla (F2). coloquei o seguinte código:
Mas infelizmente não obtive sucesso, alguém pode me ajudar?
peninha
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
Curtidas 0
Respostas
Tatuweb
30/10/2004
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;
GOSTEI 0
Vanderley
30/10/2004
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]
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]
GOSTEI 0
Gabeloni
30/10/2004
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é !!
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é !!
GOSTEI 0