Fórum Problemas ao perder foco do componente. #283383

30/05/2005

0

Galera

Gostaria de fazer o seguinte em minha aplicação:

Quando perder o foco do componente DbEdit1 na janela Cadastro, carregar uma janela de consulta e nesta escolher o nome do cliente e carrega-lo para a janela a qual foi chamado.
Bom, isto esta funcionando mas tenho um problema ao clicar no botão fechar da janela principal (ele chama a janela de consulta novamente). Agora não sei como resolver. para isto estou usando o seguinte código.

Componente DbEdit1 - Events: OnExit.

If DbEdit1.text = ´´ then
begin
try
Application.createform(TFrmPesquisa, FrmPesquisa);
FrmPesquisa.ShowModal;
finally
FrmPesquisa.Free;
end;
end;

No Evento OnKeyPress do formulário de cadastro estou usando o seguinte código.

if key = #13 then
begin
key := 0;
perform(WM_NextDlgCtl, 0, 0);
end;

(Substituir a tecla Tab por Enter).

Alguem teria assim uma dica de como resolver isto, ou comentar uma opção diferente para fazer isto.

Agradeço a todos que ajudarem.

Valnei


Objetivacreator

Objetivacreator

Responder

Posts

30/05/2005

Sremulador

você pode fazer um teste ao sair tipo if ed1.focused then ....


Responder

Gostei + 0

30/05/2005

Aroldo Zanela

Colega,

Use o evento OnValidade do TField associado ao objeto dbEdit1 ou beforepost ao invés de On Exit no contexto apresentado.


Responder

Gostei + 0

31/05/2005

Marco Salles

Problea com foco é sempre um problema... Voce acha que reolve de um jeito mas depois verifica que não é bem assim

Se eu entendi bem , seu problema ocorre quando voce Clica no botão Fechar..

Bom, isto esta funcionando mas tenho um problema ao clicar no botão fechar...


ele chama a janela de consulta novamente


Ele esta fazendo corretamente...

Acho que a simples instrução no codigo do seu evento OnExit Pode Resolver:

if not NomeDoBotaoFechar.Focused Then
begin
  If DbEdit1.text = ´´ then 
    begin 
      try  
        Application.createform(TFrmPesquisa, FrmPesquisa); 
        FrmPesquisa.ShowModal; 
      finally 
        FrmPesquisa.Free; 
    end;
end; 
end; 



Responder

Gostei + 0

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

Aceitar