Sair de um Edit com condições no evento OnExit
[b:8e3ffb47b4]Conto com ajuda de todos para solucionar um pequeno problema.
Coloquei uma condição no evento OnExit de um Edit que é assim:
If Edit1.Text = ´´ then
Begin
ShowMessage:=´Digite algo´;
Edit1.SetFocus;
End;
Ou seja se o Edit estiver vazio mostro uma mensagem e volto o foco para o edit, enquanto o usuário não digitar nada o foco fica no edit. Pois bem, mas e se o usuário quiser, por exemplo, cancelar a entrada de dados na tabela clicando no botão Cancelar? Só que o evento de cancelamento não será efetivado porque o Edit ainda está em branco. Se o usuário digitar algo aí sim ele poderá clicar no botão e cancelar a operação, mas isso seria incoveniente, o correto seria cancelar a operação mesmo o edit estando vazio, aí está o meu problema. Como faço para enviar o foco para o botão estando o edit vazio?
Espero respostas de quem puder me ajudar...
________________________________
Em terra de programador, quem tem Delphi é rei.[/b:8e3ffb47b4]
Coloquei uma condição no evento OnExit de um Edit que é assim:
If Edit1.Text = ´´ then
Begin
ShowMessage:=´Digite algo´;
Edit1.SetFocus;
End;
Ou seja se o Edit estiver vazio mostro uma mensagem e volto o foco para o edit, enquanto o usuário não digitar nada o foco fica no edit. Pois bem, mas e se o usuário quiser, por exemplo, cancelar a entrada de dados na tabela clicando no botão Cancelar? Só que o evento de cancelamento não será efetivado porque o Edit ainda está em branco. Se o usuário digitar algo aí sim ele poderá clicar no botão e cancelar a operação, mas isso seria incoveniente, o correto seria cancelar a operação mesmo o edit estando vazio, aí está o meu problema. Como faço para enviar o foco para o botão estando o edit vazio?
Espero respostas de quem puder me ajudar...
________________________________
Em terra de programador, quem tem Delphi é rei.[/b:8e3ffb47b4]
Ponce :)
Curtidas 0
Respostas
Nerdex
12/04/2004
A princípio é impossivel, pois vc está captando o evento onExit do edit. Sempre quando vc retirar o foco do edit será religiosamente efetuado aquele código para este evento... Desta forma, faça estas considerações como de costume - no evento Gravar, por exemplo verifique se o usuário esqueceu de informal algo naquele edit...
GOSTEI 0
Luis Neto
12/04/2004
vc pode colocar o ento no momento em que o usuário for salvar a tb, faça uma rotina de averiguação de dados.
Luis Neto
--------------------
Nada sabem os que não tentam
Luis Neto
--------------------
Nada sabem os que não tentam
GOSTEI 0
Marco Salles
12/04/2004
Como faço para enviar o foco para o botão estando o edit vazio?
Adicione uma intrução em seu cádigo:
If (Edit1.Text = ´´)and(not BtCancelar.Focused) then Begin ShowMessage:=´Digite algo´; Edit1.SetFocus; End;
Ao clicar no botão cancelar o foco vai para ele e a mensagem não é executada....
[b:15ee00b677]P:S Cuidado com as Teclas de Atalho Nestas Operações de OnExit....[/b:15ee00b677]
GOSTEI 0
Ponce :)
12/04/2004
[b:0021f0ca1d]Valeu Marcos Salles pela ajuda.
Reginaldo Ponce
______________________________
Em terra de programador, quem tem Delphi é rei[/b:0021f0ca1d]
Reginaldo Ponce
______________________________
Em terra de programador, quem tem Delphi é rei[/b:0021f0ca1d]
GOSTEI 0
Cbier
12/04/2004
Pode colocar o código no evento OnEnter do próximo Edit.
CBier
CBier
GOSTEI 0