Cancelar Saida do Componente

01/12/2005

1

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.


Responder

Posts

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
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira