ele quer no momento q apareça mandar um comando pra dar ok.. e se caso for por tempo eh soh manda uma msg para o handler mostrar o aplicativo antes de mandar um close no msgdlg
2009/8/11 Silvio Clecio <silviop...@yahoo.com.br> > > > Em 11/8/2009 21:55, EmbarcaDelphi escreveu: > > > Valeu Silvio, esqueci das mensagens do Windows, porém, ainda tem uma > > pequena falha ai. Não é especificamente a janela do ShowMessage da > > aplicação que o PostMessage vai fechar, é o que está ativo no momento. > > Por exemplo, se aparecer outra ShowMessage de outro aplicativo ou uma > > message do Windows o ShowMessage da aplicação dele vai continuar. Só > > funciona com quem esta ativo, com quem está o foco. Mas...funciona, é um > > detalhe pequeno.... Prefiro usar a function do Rubem pois vou ter o > > controle dele no meu programa. > > Como citei, faça dois programas, num coloca-se um showmessage (sem > > timer) e executa primeiro, no outro faz este procedimento que vc passou, > > qdo executar ele > > clique no showmessage do outro programa, vai ver que fecha apenas o do > > outro programa que não tem nada a ver com a história :D e o outro > > permanece lá boiando. Prefiro a function do Rubem pois podemos ter a > > autoridade dele e fechar quando quiser. > > Veja a pergunta do cara: > > {...} > Em 11/8/2009 15:55, > brunolbra...@yahoo.com.br<brunolbrasil%40yahoo.com.br>escreveu: > > Boa tarde! > > > > Seguinte... se eu dou o comando: > > > > showMessage('Teste'); > > > > o delphi exibe uma caixa com a msg: Teste na tela e essa msg só sai > depois > > que alguém pressionar em OK. > > > > Tem como eu fazer algum comando para essa msg sair automaticamente? > > > > Obrigado! > {...} > > Veja a resposta: > > {...} > Do "DicasDelphi.chm". > > ------- > . > . > . > var > Form1: TForm1; > > implementation > > {$R *.dfm} > > procedure TForm1.FormCreate(Sender: TObject); > begin > Timer1.Enabled := False; > end; > > procedure TForm1.Button1Click(Sender: TObject); > begin > Timer1.Enabled := True; > ShowMessage('Tchau!'); > end; > > procedure TForm1.Timer1Timer(Sender: TObject); > begin > PostMessage(FindWindow('TMessageForm', nil), WM_CLOSE, 0, 0); > Timer1.Enabled := False; > end; > {...} > > O "showMessage('Teste');" dele vai fechar, coloquei um "Tchau!" só pra > tirar onda :) . Se ele tivesse pedido para encerrar uma aplicação ou até > mesmo o SO, com certeza eu teria respondido com outra coisa. Note que a > pergunta dele soou meio iniciante -- Seguinte... se eu dou o comando: > --, respondi de forma iniciante -- Do "DicasDelphi.chm". > > > Isso não é critica hein! é só um comentário, vc é uma ótima pessoa e é > > um grande programador, alias, vc deu apenas uma sugestão. > > Critica? Xiiihhh, o "clima" aqui ta meio quente heim?! Apenas respondi > uma pergunta de um colega, nada mais. > -- > Silvio Clecio > > -- Leandro, MuTukA [As partes desta mensagem que não continham texto foram removidas]