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 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

Responder a