Cancelar Saida do Componente

01/12/2005

0

Quero fazer uma rotina que, no envento OnExit de um edit, o sistema faça uma pergunta ao usuário e, dependendo da resposta, o foco volta para o mesmo componente, ou seja, o OnExit não é processado.
Sei que eu poderia fazer um .setFocus, mas isso não me serve, pois o projeto tem outras variaveis que impedem de usar o setfocus.
Teria que ser algo assim:

if messagedlg(´sair´,mtconfirmation,[mbyes,mbno],0) = mrno then
abort;

Mas nesse caso o abort não faz nada, ou seja, o foco vai igual ao componente seguinte.

Alguém tem alguma idéia.


Armindo

Armindo

Responder

Posts

01/12/2005

Emerson Nascimento

uma maneira de tornar genérico seria utilizar o parâmetro Sender do evento OnExit. ficaria assim:

if messagedlg(´sair´,mtconfirmation,[mbyes,mbno],0) = mrno then
  TWinControl(Sender).SetFocus;



Responder

01/12/2005

Armindo

Beleza!

Funcionou perfeitamente.

Obrigado.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar