Cleiton,

No evento OnKeyDown acrescente esta linha:

if (key =VK_F10) then 
begin
  //-- AQUI
  key :=0 ;
  btConsultaClick(Self); 
end;

Sucesso !

Moacir


Cleiton Maciel Reis da Silva escreveu:
> Galera delphiana, eu sei que na programação tudo tem um
> lógica. Mas
> sinceramente não estou conseguindo encontrar a lógica disso:
>  
> e tenho uma tela de cadastro, nessa tela tem todos os botões 
> de incluir alterar etc....
>  
> e tem um botão de PESQUISA (CONSULTA) que abre um outro
> formulário
> lista todas os registros desse cadsatro.
>  
> Eu utilizo teclas de funções nesse cadastro
>  
> Por exemplo pra abrir a consulta eu utilizo F10, no evento
> OnKeyDow com o seguinte código
> if (key =
> VK_F10) then btConsultaClick(Self); 
>  
> ele carrega o evento onclick do botão.
>  
>    Consulta
> := TConsulta.create ( application );
>  
>  try
>     
> Consulta.ShowModal
>   
> finally
>     
> Consulta.Release;
>     
> Consulta := nil;
>    end;
>  
> agora que vem o X da questão quando eu fecho a consulta o
> sistema executa novamente
> o envento OnKeyDow . e abre novamente a bendita da consulta. 
>   
>
> Como pode? Fica buferizado isso no forme por causa do
> KeyPreview = True? Por que sem isso não funciona
> as teclas de função. Sinceramente nãoo sei espero que os experientes colegas 
> possam me dizer..
>
> Testei chamando um showmessage e tambem a msg aparece duas vezes. Tenho 
> outros modulos que trabalham com 
>
> o KeyPreview = True e não ocorre esse problema.
>
> Obrigado.
>
>
>       
> ____________________________________________________________________________________
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbuscados.yahoo.com
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>
>   

Responder a