Problemas ao perder foco do componente.
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
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
Curtidas 0
Respostas
Sremulador
30/05/2005
você pode fazer um teste ao sair tipo if ed1.focused then ....
GOSTEI 0
Aroldo Zanela
30/05/2005
Colega,
Use o evento OnValidade do TField associado ao objeto dbEdit1 ou beforepost ao invés de On Exit no contexto apresentado.
Use o evento OnValidade do TField associado ao objeto dbEdit1 ou beforepost ao invés de On Exit no contexto apresentado.
GOSTEI 0
Marco Salles
30/05/2005
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..
Ele esta fazendo corretamente...
Acho que a simples instrução no codigo do seu evento OnExit Pode Resolver:
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;
GOSTEI 0