cancelar o evento OnExit de um edit ao pressionar um botao

Delphi

13/03/2003

eu tenho um edit q faz uma validação de data o evento on exit, porem quando eu clicar em um botão (cancelar por exemplo) eu gostaria q ele não fizesse essa validação (não acionasse o evento exit do edit)
alguem sabe como fazer isso?
obrigado


Arsnet

Arsnet

Curtidas 0

Melhor post

E_gama

E_gama

13/03/2003

entao o codigo do evento onExit esta ´embutido´ no componente?

Se tiver, acrescente as linhas que lhe passei anteriormente nesse codigo ´embutido´


GOSTEI 1

Mais Respostas

Anonymous

Anonymous

13/03/2003

primeira linha do evento on exit

if botao_cancelar.focused then exit;


GOSTEI 1
E_gama

E_gama

13/03/2003

Faca o seguinte:

configure a propriedade ´TAG´ com um valor diferente de ZERO em todos os compentes que irao ´inibir´ essa sua funcao (exemplo: botoes cancelar, OK, help, etc...)

depois escreva o codigo do onExit:
 procedure TForm1.Edit1Exit(Sender: TObject);
begin
  if ActiveControl.Tag <> 0 then
     Exit;
end;



GOSTEI 0
Arsnet

Arsnet

13/03/2003

valeu a dica cara.. mas não funcionou


GOSTEI 0
E_gama

E_gama

13/03/2003

Qual nao funcionou? a do e_gama ou a do edson?


GOSTEI 0
Arsnet

Arsnet

13/03/2003

infelizmente as duas...
deixa eu esplicar denovo..
eu tenho um componente edit especifico pra datas, e no evento exit do componente ele faz a validação... não sei é por isso q não funciona


GOSTEI 0
E_gama

E_gama

13/03/2003

e o TEdit padrao do Delphi, ou e um outro componente que vc instalou?


GOSTEI 0
Arsnet

Arsnet

13/03/2003

foi um componente q eu mesmo criei baseado no TEdit, apenas acrescentei no componente essa validação de data e algumas coisinhas bobas...


GOSTEI 0
Arsnet

Arsnet

13/03/2003

ok... vou tentar fazer isso


GOSTEI 0
Anonymous

Anonymous

13/03/2003

Estava c/ um problema assim e fiz o seguinte: No evento OnExit Coloquei o seguinte:
If (BtnCancelar.Focused = True) then exit
else
Begin
Application.MessageBox(´Mensagem´,´Data Inválida !´,MB_Ok);
DbeData.SetFocus;
end;


Comigo Resolveu...


GOSTEI 1
Arsnet

Arsnet

13/03/2003

blz pessoal... valeu a força... acho q funcionou


GOSTEI 0
Silvio Luciano

Silvio Luciano

13/03/2003

Funcionou corretamente no meu caso. Obrigado

Faca o seguinte:

configure a propriedade ´TAG´ com um valor diferente de ZERO em todos os compentes que irao ´inibir´ essa sua funcao (exemplo: botoes cancelar, OK, help, etc...)

depois escreva o codigo do onExit:
 procedure TForm1.Edit1Exit(Sender: TObject);
begin
  if ActiveControl.Tag  0 then
     Exit;
end;



GOSTEI 0
POSTAR