comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Evento OnMinimize del formulario

  • 0 Respuestas
  • 1689 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5388
  • Actividad:
    36.67%
  • Reputación 31
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« en: Febrero 24, 2010, 05:00:18 pm »
Los formularios de Delphi no tienen el evento OnMinimize.
A veces estaría bien disponer de él; En mi caso lo necesitaría ya que a veces doto a mis aplicaciones de la caraterística (o manía mía) de que al minimizarlos "pasan al Tray"; Es decir, oculto el form y visualizo el icono junto al reloj.

Una forma sencilla de detectarlo es hacer lo siguiente.
En la sección private del form añadir esta definición:

Código: Delphi
  1. // Capturar mensajes al form
  2.   procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;


Y en la implementación se captura el mensaje de minimizar:

Código: Delphi
  1. // Capturar mensajes....
  2. procedure TFormMain.WMSysCommand(var Msg: TWMSysCommand);
  3. begin
  4.   // Minimizando?
  5.   if (Msg.CmdType = SC_MINIMIZE) then begin
  6.     // Accion de ocultar el form
  7.     actionOcultar.Execute;
  8.   end
  9.   else begin
  10.     // comportamiento estandard
  11.     DefaultHandler(Msg);
  12.   end;
  13. end;
  14.  


¡Ojo! En mi caso no me interesa que el formulario se minimize, ya que yo lo oculto, pero si os interesa que esa acción se realice, debéis sacar fuera del else la llamada a
DefaultHandler(Msg)


P.D: Funciona con el botón de minimizar y desde el menú de sistema del form, pero no pulsando click derecho sobre el botón de la barra de tareas. (Cuando lo encuentre lo añado).



« Última modificación: Abril 15, 2013, 11:26:32 pm por Expermicid »


 

¿Te gustó el post? COMPARTILO!