MessageDlg ficando atrás do form principal
Amigos,
Em alguns casos, não dá para precisar como e somente ocorre em dois micros.
A função MessageDlg não traz seu form para frente, ou seja, dá a impressão de que o micro travou, sendo que na verdade só está atrás do form principal.
O usuário tem que teclar Alt Tab para que o form da MessageDlg venha para frente.
Abaixo cito um exemplo do que tenho:
Procedure Concluido( Msg : String );
Begin
MessageBeep( MB_ICONEXCLAMATION );
MessageDlg( Msg,mtInformation,[ mbOk ],0 );
End;
...............
...............
Concluido( 'Operação concluída!' );
Conseguí me explicar? Como posso resolver?
Obrigado
Em alguns casos, não dá para precisar como e somente ocorre em dois micros.
A função MessageDlg não traz seu form para frente, ou seja, dá a impressão de que o micro travou, sendo que na verdade só está atrás do form principal.
O usuário tem que teclar Alt Tab para que o form da MessageDlg venha para frente.
Abaixo cito um exemplo do que tenho:
Procedure Concluido( Msg : String );
Begin
MessageBeep( MB_ICONEXCLAMATION );
MessageDlg( Msg,mtInformation,[ mbOk ],0 );
End;
...............
...............
Concluido( 'Operação concluída!' );
Conseguí me explicar? Como posso resolver?
Obrigado
Edson Santos
Curtidas 0
Respostas
Wesley Yamazack
09/10/2009
Olá meu caro,
Infelizmente também tenho este problema(e nunca consegui resolver), isso ocorre no momento que teu sistema perde o foco no mesmo tempo que a mensagem é disparada, pode ser por intervenção de algum software, que no momento da mensagem ele disparada um evento ou algo do tipo, fazendo com que janela ativa perca o foco, e a mensagem fique por traz do form.
Um abraço
Wesley Y
Infelizmente também tenho este problema(e nunca consegui resolver), isso ocorre no momento que teu sistema perde o foco no mesmo tempo que a mensagem é disparada, pode ser por intervenção de algum software, que no momento da mensagem ele disparada um evento ou algo do tipo, fazendo com que janela ativa perca o foco, e a mensagem fique por traz do form.
Um abraço
Wesley Y
GOSTEI 0
Wesley Yamazack
09/10/2009
Olá meu caro,
Não fiquei satisfeito e andei procurando uma solução, veja se isso irá resolver teu problema.
coloque o seguinte código na hora de exibir tua mensagem.
SetForegroundWindow(Application.Handle);
ShowMessage('Exibir mensagem');
Att,
Wesley Y
Não fiquei satisfeito e andei procurando uma solução, veja se isso irá resolver teu problema.
coloque o seguinte código na hora de exibir tua mensagem.
SetForegroundWindow(Application.Handle);
ShowMessage('Exibir mensagem');
Att,
Wesley Y
GOSTEI 0
Edson Santos
09/10/2009
Ok
Vou testar.
Obrigado pela atenção.
Vou testar.
Obrigado pela atenção.
GOSTEI 0