Ver Mensaje Individual
  #19  
Antiguo 30-11-2011
Avatar de Arsenio
Arsenio Arsenio is offline
Miembro
 
Registrado: Oct 2006
Posts: 13
Reputación: 0
Arsenio Va por buen camino
Yo en el procedimiento Restaurar (que se ejecuta con el doble click en el TrayIcon o con el popupMenu) hago unos pasos más, ya que se comportaba "extraño" cuando lo restauraba, por ejemplo no me permitía minimizar otra vez la ventana si primero no hacía "foco" en la ventana:

Código Delphi [-]
procedure TFormCustom.Restaurar1Click(Sender: TObject);
begin
  RestaurarVentana;
end;

procedure TFormCustom.TrayIcon1DblClick(Sender: TObject);
begin
  RestaurarVentana;
end;

procedure TFormCustom.RestaurarVentana;
begin
  Show;
  WindowState := wsNormal;
  TrayIcon1.Visible := False;
  //estas dos lineas las agrego para que le de foco a la ventana y quede arriba.
  Application.BringToFront;
  Application.Restore;
end;


Y en vez de usar el TApplicationEvents, para no agregar una unit más, uso directamente:

Código Delphi [-]
//Asigno evento cuando minimiza la aplicación
Application.OnMinimize := MinimizarAplicacion;

procedure TFormCustom.MinimizarAplicacion(Sender: TObject);
begin
  Self.Hide;
  TrayIcon1.Visible := True;
end;

Esto es con el Delphi XE, se que los anteriores tenían algunos problemas con este componente.
__________________
Arsenio Lupín - howtoarsenio.blogspot.com
Responder Con Cita