Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-06-2008
Cecilio Cecilio is offline
Miembro
 
Registrado: ago 2007
Posts: 140
Poder: 17
Cecilio Va por buen camino
TTrayIcon como usarlo ?

Hola.

Estoy con el TtrayIcon y no consigo que funciones. Por desconocimiento.

Me gustaría saber como hacer que la aplicación se vaya a la bandeja de tareas al:
- Arrancar aplicación. (opcional).
- Al minimizar.
Y restaurar con una opción del PopupMenu.

Esto es lo más urgente.

¿ alguien tiene algún ejemplo ? o me pude decir las pautas a seguir ?

Saludos.
__________________
Saludos Cordiales.
------------------

Responder Con Cita
  #2  
Antiguo 23-06-2008
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 18
felipe88 Va por buen camino
Bueno, el TryIcon es una mezcla de iconos que funcionan como lo haria un gif. En este documento (http://www.terawiki.clubdelphi.com/a..._al_limite.zip), hay un truco para minimizar tu aplicacion en la bandeja, espero te sirva...

Saludos
__________________
Web
Responder Con Cita
  #3  
Antiguo 23-06-2008
Avatar de xEsk
[xEsk] xEsk is offline
Miembro Premium
 
Registrado: feb 2006
Posts: 454
Poder: 19
xEsk Va por buen camino
Hola, no tiene ningun secreto

Pones un TTrayIcon, para mostrarlo y ocultarlo "TrayIcon1.Visible:=True;" o "TrayIcon1.Visible:=False;"

Le asignas un TPopupMenu al TTrayIcon, y listo.

Si quieres capturar los eventos, minimizar y todo esto, pues tienes el TApplicationEvents.

Saludos.
Responder Con Cita
  #4  
Antiguo 23-06-2008
Cecilio Cecilio is offline
Miembro
 
Registrado: ago 2007
Posts: 140
Poder: 17
Cecilio Va por buen camino
La importancia del foro.

Fijaros que con estas dos respuestas, he logrado hacer lo que pretendía.

homenaje al foro, en los créditos pondré un homenaje al foro.

Gracias a los dos.
__________________
Saludos Cordiales.
------------------

Responder Con Cita
  #5  
Antiguo 23-06-2008
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 18
felipe88 Va por buen camino
Que bueno que encontraste la solucion...
Con gusto
__________________
Web
Responder Con Cita
  #6  
Antiguo 24-06-2008
esocrates esocrates is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 210
Poder: 21
esocrates Va por buen camino
Cita:
Empezado por xEsk Ver Mensaje
Hola, no tiene ningun secreto

Pones un TTrayIcon, para mostrarlo y ocultarlo "TrayIcon1.Visible:=True;" o "TrayIcon1.Visible:=False;"

Le asignas un TPopupMenu al TTrayIcon, y listo.

Si quieres capturar los eventos, minimizar y todo esto, pues tienes el TApplicationEvents.

Saludos.
Hola xEsk:
¿Podrías explicarlo con un ejemplo?
No logro resultado con esta indicación.
Muchas gracias
Saludos
Responder Con Cita
  #7  
Antiguo 25-06-2008
Avatar de xEsk
[xEsk] xEsk is offline
Miembro Premium
 
Registrado: feb 2006
Posts: 454
Poder: 19
xEsk Va por buen camino
Cita:
Empezado por esocrates Ver Mensaje
Hola xEsk:
¿Podrías explicarlo con un ejemplo?
No logro resultado con esta indicación.
Muchas gracias
Saludos
Faltaría mas!

Pon estos tres componentes: TTrayIcon, TPopupMenu y un TApplicationEvents.

Crea una nueva opción al TPopupMenu para poder programar la opción de "Restaurar".

Ahora asígnale este TPopupMenu al TTrayIcon.

El código a programar sería algo así:

Código Delphi [-]
// Al minimizar la aplicación (el evento OnMinimize del TApplicationEvents)
procedure TForm1.ApplicationEvents1Minimize(Sender: TObject);
begin
  // ocultamos la ventana actual (la que tiene el TTrayIcon)
  Hide;
  // mostramos el TrayIcon
  TrayIcon1.Visible:=True;
end;

// Al seleccionar la opción restaurar del TPopupMenu (en mi caso se llama Mostrarformulario1)
procedure TForm1.Mostrarformulario1Click(Sender: TObject);
begin
  // volvemos a poner visible la ventana del TTrayIcon
  Show;
  // le decimos a la ventana que se ponga como "normal"
  WindowState:=wsNormal;
  // ocultamos el TrayIcon que ya no es necesario
  TrayIcon1.Visible:=False;
end;

Como ves, realmente no tenia ningún secreto! Espero que ahora si te funcione.

Saludos.
Responder Con Cita
  #8  
Antiguo 25-06-2008
esocrates esocrates is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 210
Poder: 21
esocrates Va por buen camino
Cita:
Empezado por xEsk Ver Mensaje
Faltaría mas!

Pon estos tres componentes: TTrayIcon, TPopupMenu y un TApplicationEvents.

Crea una nueva opción al TPopupMenu para poder programar la opción de "Restaurar".

Ahora asígnale este TPopupMenu al TTrayIcon.

El código a programar sería algo así:

Código Delphi [-]
// Al minimizar la aplicación (el evento OnMinimize del TApplicationEvents)
procedure TForm1.ApplicationEvents1Minimize(Sender: TObject);
begin
  // ocultamos la ventana actual (la que tiene el TTrayIcon)
  Hide;
  // mostramos el TrayIcon
  TrayIcon1.Visible:=True;
end;

// Al seleccionar la opción restaurar del TPopupMenu (en mi caso se llama Mostrarformulario1)
procedure TForm1.Mostrarformulario1Click(Sender: TObject);
begin
  // volvemos a poner visible la ventana del TTrayIcon
  Show;
  // le decimos a la ventana que se ponga como "normal"
  WindowState:=wsNormal;
  // ocultamos el TrayIcon que ya no es necesario
  TrayIcon1.Visible:=False;
end;

Como ves, realmente no tenia ningún secreto! Espero que ahora si te funcione.

Saludos.
Muchas gracias xEsk.
Funcionó con la única corrección de cambiar la propiedad visible del TrayIcon1 por Active
Un saludo y hasta pronto
Responder Con Cita
  #9  
Antiguo 26-06-2008
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Jejeje y en que pestaña esta el TrayIcon? NO lo encuentro!
Responder Con Cita
  #10  
Antiguo 26-06-2008
esocrates esocrates is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 210
Poder: 21
esocrates Va por buen camino
Cita:
Empezado por FGarcia Ver Mensaje
Jejeje y en que pestaña esta el TrayIcon? NO lo encuentro!
Está en las RXLib tools
Un saludo
Responder Con Cita
  #11  
Antiguo 26-06-2008
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 18
felipe88 Va por buen camino
Cita:
Empezado por FGarcia Ver Mensaje
Jejeje y en que pestaña esta el TrayIcon? NO lo encuentro!
Que version de Delphi tienes...? creo que este esta de la 2006 en adelante, pero no te preocupes las rx poseen su propia version
__________________
Web
Responder Con Cita
  #12  
Antiguo 26-06-2008
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Joder! y yo que creia era un control de delphi! ni hablar...
Responder Con Cita
  #13  
Antiguo 26-06-2008
Cecilio Cecilio is offline
Miembro
 
Registrado: ago 2007
Posts: 140
Poder: 17
Cecilio Va por buen camino
xEsk me ha venido de perlas el ejemplo que has puesto.la TtrayIcon y TApplicationEvents en Delphi 2007 se encuentran en el grupo "Additional"
__________________
Saludos Cordiales.
------------------

Responder Con Cita
  #14  
Antiguo 26-06-2008
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Bueno, baje e instale las Rx V2.7.7 y estoy tratando de usar el RxTrayIcon pero hay algo que no me funciona. La aplicacion la inicio minimizada (desde el IDE) y queda en la barra, si aparece el icono y funciona el menu de popup para restaurar pero no puedo volver a minimizar la aplicacion, jeje en el demo esta simple de usar pero no logro usarlo en mi aplicacion. ¿Sugerencias?
Responder Con Cita
  #15  
Antiguo 26-06-2008
Cecilio Cecilio is offline
Miembro
 
Registrado: ago 2007
Posts: 140
Poder: 17
Cecilio Va por buen camino
Me pasa igual.
Desde que uso WindowState. Para restaurar y que se va de nuevo tengo:

Código Delphi [-]
procedure Tform1.Restaurar;
begin
     Application.mainform.visible:=true;
     TrayIcon1.Visible:=true;
     Form1.WindowState:=wsNormal;
end;

No he probado a poner no visible TrayIcon, pero creo que no es de eso.
__________________
Saludos Cordiales.
------------------

Responder Con Cita
  #16  
Antiguo 26-06-2008
esocrates esocrates is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 210
Poder: 21
esocrates Va por buen camino
Cita:
Empezado por FGarcia Ver Mensaje
Bueno, baje e instale las Rx V2.7.7 y estoy tratando de usar el RxTrayIcon pero hay algo que no me funciona. La aplicacion la inicio minimizada (desde el IDE) y queda en la barra, si aparece el icono y funciona el menu de popup para restaurar pero no puedo volver a minimizar la aplicacion, jeje en el demo esta simple de usar pero no logro usarlo en mi aplicacion. ¿Sugerencias?
Muestra el código que estás usando para darle un vistazo
Un saludo
Responder Con Cita
  #17  
Antiguo 26-06-2008
esocrates esocrates is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 210
Poder: 21
esocrates Va por buen camino
Cita:
Empezado por Cecilio Ver Mensaje
Me pasa igual.
Desde que uso WindowState. Para restaurar y que se va de nuevo tengo:

Código Delphi [-]
procedure Tform1.Restaurar;
begin
     Application.mainform.visible:=true;
     TrayIcon1.Visible:=true;
     Form1.WindowState:=wsNormal;
end;

No he probado a poner no visible TrayIcon, pero creo que no es de eso.
Prueba con esto en el evento click del PopUP .
Nota:1-La propiedad visible está equivocada. La correcta es active
2-No olvides adjudicar un ícono al RXTrayicon. Lo podés hacer desde el inspector de objetos.
Código Delphi [-]
procedure TForm1.Restaurar1Click(Sender: TObject);
begin
  Show;
  WindowState:=wsNormal;
  RXTrayIcon1.Active:=False;
end;

Última edición por esocrates fecha: 26-06-2008 a las 18:25:36.
Responder Con Cita
  #18  
Antiguo 26-06-2008
Cecilio Cecilio is offline
Miembro
 
Registrado: ago 2007
Posts: 140
Poder: 17
Cecilio Va por buen camino
No uso las Rx, sino TtrayIcon. Este no lleva la propiedad Active sino Visible.

Saludos.
__________________
Saludos Cordiales.
------------------

Responder Con Cita
  #19  
Antiguo 30-11-2011
Avatar de Arsenio
Arsenio Arsenio is offline
Miembro
 
Registrado: oct 2006
Posts: 13
Poder: 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
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Obtener el Menu de Google Earth para usarlo en mi aplicacion vejerf API de Windows 2 26-05-2008 09:49:26
grfinger como usarlo ? martita Varios 0 13-02-2008 19:47:37
Toolbar, como me conviene usarlo? Patricio Varios 3 27-11-2006 16:34:25


La franja horaria es GMT +2. Ahora son las 19:02:04.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi