PDA

Ver la Versión Completa : Ventana Minimizada


diegofhernando
15-05-2003, 19:08:47
Que tal foro...

Lo que necesito es poder establecer cuando el usuario tiene mi aplicación minimizada en la barra de tareas de windows... les agradezco su colaboración :cool:

delphi.com.ar
15-05-2003, 19:22:44
Si tu aplicación es del tipo MDI, es cuando el WindowState del MDIForm es wsMinimized, y me imagino que en el OnResize te darás cuenta cuando cambia de estado.

Suerte!

jhonny
15-05-2003, 20:24:00
No se, nunca lo he probado pero trata con el componente TApplicationEvents regularmente de la paleta Additional...

Este componente tiene un evento llamado OnMinimize,
O tambien puedes capturar un mensaje asi:

(Truco 102 de Trucomania)

Podemos hacerlo capturando el mensaje WM_SYSCOMMAND

-Primero, capturamos el mensaje, añadiendo esta linea en el private de la declaracion de la form:

type
TForm1 = class(TForm)
private
{Esta linea/This Line}
procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
end;

-Y en el implementation, ponemos la procedure:

procedure TForm1.WMSysCommand(var Msg: TWMSysCommand);
begin
if (Msg.CmdType = SC_MINIMIZE) or
(Msg.CmdType = SC_MAXIMIZE) then
MessageBeep(0);
DefaultHandler(Msg);
end;

Espero te sirva:cool:

delphi.com.ar
15-05-2003, 21:14:23
Es verdad, que había olvidado del los eventos de la aplicación. El TApplicationEvents no es mas que un componente no visual que publica los eventos que puede sufrir el objeto Application. Con el OnResotre y OnMinimize del Application o de un TApplicationEvents, seguramente lo podrás hacer y de una manera mas prolija, y solucionás el problema si tenés varios formularios no MDI.

diegofhernando
16-05-2003, 15:32:25
Gracias a todos... estoy seguro que alguna de sus sugerencias me servira. :cool: