Cancelar Saida do Componente
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.
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
Curtidas 0
Respostas
Emerson Nascimento
01/12/2005
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;
GOSTEI 0
Armindo
01/12/2005
Beleza!
Funcionou perfeitamente.
Obrigado.
Funcionou perfeitamente.
Obrigado.
GOSTEI 0