Fórum Teclas ALT C #324171
24/06/2006
0
Obrigado.
Ghostrider
Curtir tópico
+ 0Posts
24/06/2006
Marco Salles
Mais fácil do que capturar , seria no evento OnExit do edit acrescentar a instrução [b:e820fa340e]if not BtCancelar.Focused Then[/b:e820fa340e]. Ficando assim ;
procedure TForm1.Edit1Exit(Sender: TObject); begin if not BtCancelar.Focused Then begin //Sua Rotina Normal end; end;
Gostei + 0
24/06/2006
Ghostrider
Gostei + 0
24/06/2006
Marco Salles
amigo...o que deve estar ocorrendo e que voce esta mudando o foco dentro do seu codigo do botão cancelar ...Então antes de mais nada voce deve passar o foco para o botão cancelar e so depois atribuir o novo foco
[b:41ca251cbd]veja[/b:41ca251cbd]
procedure TForm1.Edit1Exit(Sender: TObject); begin if not BtCancelar.Focused Then begin //Sua Rotina Normal end; end;
procedure TForm1.BtcancelarClick(Sender: TObject); begin btcancelar.SetFocus;//passe o foco primeiro para o btcancelar //sua rotina normal OutroControle.SetFocus; end;
Gostei + 0
25/06/2006
Dopi
Fazer validações no [i:2143e12109]OnExit[/i:2143e12109] dos componentes não é uma boa... pois sempre o usuário acha um jeito de tirar o foco do componente sem passar por ela...
Faça a validação antes de gravar no BD... e se vc detctar algum erro, vc muda o foco para o componente com problema e aborta a gravação... na verdade o Delphi já provê um ótimo mecanismo para isso... basta usar os ´Constrains´ no FieldsEditor
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)