Jump to content


Photo

SysTrayIcon


  • Please log in to reply
28 replies to this topic

#1 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4111 posts
  • LocationMadrid - España

Posted 25 April 2009 - 09:38 AM

El SysTray es una zona golosa para programadores noveles y no tan noveles. Resulta cómodo tener una aplicación iconizada en esa zona y que pueda mostrar mensajes de tipo Balloon, bien visibles. Los iconos móviles son un efecto estético atractivo que, además, pueden servir de información de determinada actividad...

En el Builder, viene un ejemplo de un componente llamado TryIcon para realizar estas labores. El problema es que es un ejemplo y no un componente plenamente funcional. Hace un tiempo lo modifiqué y lo adapté a mis necesidades, le añadí los mensajes tipo Balloon y depuré algún bug. Así nació el componente SysTrayIcon, escrito en C++.

Seguramente se puede mejorar o añadir mas funcionalidades, así que animo al que quiera a hacerlo, claro que en ese caso debe publicarlo en delphiaccess :p

Adjunto los archivos del componente y una pequeñaa aplicación de ejemplo. Espero que sea de utilidad

PD: Añado enlaces para la versión Builder y Delphi actualizados 02-04-2016 y al 07-04-2016 (versión 3)


Saludos.

 

 

 

.

Attached Files


  • 1

#2 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4111 posts
  • LocationMadrid - España

Posted 10 December 2009 - 07:32 PM

Iba siendo hora de traducir el componente a delphi. He intentado ser fiel al componente publicado para Builder, y he corregido algún detalle. Es posible que tenga que pulirse algo más.

El componente está probado en delphi 6 y 7. Acompaño el enlace de descarga en el mensaje inicial del hilo.

Espero que sea de utilidad.  :)

Saludos.


  • 0

#3 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14460 posts
  • LocationMéxico

Posted 10 December 2009 - 08:13 PM

Ah vaya que buen componente amigo escafandra, muchas gracias.

Me gustó mucho el asunto del ícono que tiene animación :D (y)

Salud OS
  • 0

#4 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4111 posts
  • LocationMadrid - España

Posted 11 December 2009 - 03:32 AM

He modificado alguna cosilla del control. Modifico el enlace de descarga con la nueva versión y lo coloco en el primer mensaje de este hilo.

Para instalarlo lo mejor es mediante el menú Component > Install Component, no creo que surjan problemas.

Saludos.
  • 0

#5 enecumene

enecumene

    Webmaster

  • Administrador
  • 7419 posts
  • LocationRepública Dominicana

Posted 11 December 2009 - 07:37 AM

Ah vale, esta noche la descargo y haré las pruebas pertinentes (y).
  • 0

#6 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4111 posts
  • LocationMadrid - España

Posted 11 December 2009 - 03:05 PM

He actualizado la versión para Builder C++ con los cambios introducidos en la versión delphi. También le he añadido un icono a la versión delphi para identificarlo en la paleta de herramientas, es el mismo que para la versión Builder.

Saludos.
  • 0

#7 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4266 posts
  • LocationCosta Rica

Posted 11 December 2009 - 04:06 PM

Hola
Lo acabo de bajar y probar.
Muy, pero muy bien. (y)
Muchas gracias escafandra por el aporte, definitivamente lo voy a usar. (y)
Saludos
  • 0

#8 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4111 posts
  • LocationMadrid - España

Posted 11 December 2009 - 04:41 PM

Hola
Lo acabo de bajar y probar.
Muy, pero muy bien. (y)
Muchas gracias escafandra por el aporte, definitivamente lo voy a usar. (y)
Saludos


Me alegro de que te guste pues en cierto modo la idea de reescribir el control SysTrayIcon para delphi me surgió a raiz de éste hilo al ver tu interés en colocar tu aplicación iconizada en el SysTray  :D.

Saludos.
  • 0

#9 enecumene

enecumene

    Webmaster

  • Administrador
  • 7419 posts
  • LocationRepública Dominicana

Posted 14 January 2010 - 05:45 PM

Acabo de instalar el componente, muy bueno amigo :D, tengo un problemita con la imagen del icono, pues usé .ico y .png y no me muestra la transparencia, ¿qué tipo de imagen y características debo usar?.

Saludos.
  • 0

#10 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4111 posts
  • LocationMadrid - España

Posted 15 January 2010 - 01:17 AM

En principio cualquier imagen alojada en un ImageList sirve, sin importar el formato.

El icono mostrado por defecto en el SysTray será el de la aplicación, a no ser que se cree un TImageList y se le asocie al nuestro SysTrayIcon, en ese caso deberemos asignar el Index que queremos que se muestre. El uso ImageList está pensado para conseguir iconos en movimiento y no sería necesario si sólo queremos el icono estático de nuestra aplicación. Si queremos movimiento, entonces cada imagen del ImageList representa un fotograma y el Index sería el inicial. El movimiento lo podemos parar (propiedad Animate), en ese caso el icono mostrado será el del Index elegido.

Posiblemente el fallo lo tengas en lo comentado o en que no pongas a true la propiedad Visible del SysTrayIcon. Al hacer esto se activa apareciendo el icono en el SysTray, de esta menera controlamos el efecto. La propiedad Hide muestra o esconde la propia aplicación desde el SysTrayIcon. Por último se pueden mostrar Mensajes tipo Baloon y menús desplegables en el SysTray cuya activación puede ser programada según los botones del ratón que elijamos.

Revisa la aplicación de ejemplo y me cuentas, a lo peor has descubierto un bug  :^), en ese caso tendré que revisarlo.

Saludos.
  • 0

#11 enecumene

enecumene

    Webmaster

  • Administrador
  • 7419 posts
  • LocationRepública Dominicana

Posted 15 January 2010 - 08:48 AM

Hola escafandra, sí había visto el ejemplo :D, pero no sé qué hice ahora, porque la imagen ahora se ve bien :p :p.

Saludos.
  • 0

#12 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4111 posts
  • LocationMadrid - España

Posted 15 January 2010 - 04:12 PM

Pues me alegra que lo tengas solucionado :D, y espero que el componente cumpla con tus expectativas.

Saludos.
  • 0

#13 esocrates

esocrates

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 102 posts
  • LocationArgentina

Posted 07 September 2010 - 06:29 PM

He modificado alguna cosilla del control. Modifico el enlace de descarga con la nueva versión y lo coloco en el primer mensaje de este hilo.

Para instalarlo lo mejor es mediante el menú Component > Install Component, no creo que surjan problemas.

Saludos.


Hola escafandra:
Estoy intentando instalar tu componente en Delphi 7 según tus indicaciones y no consigo hacerlo.
Adjunto la captura del mensaje de error.
¿Alguna sugerencia?
Un saludo y gracias

Attached Files


  • 0

#14 cadetill

cadetill

    Advanced Member

  • Moderadores
  • PipPipPip
  • 994 posts
  • LocationEspaña

Posted 07 September 2010 - 11:56 PM

Buenas,

Tienes las Jedi instaladas? Si es así, recuerdo que traen ese componente y, quizás de la casualidad de que el recurso se llame igual que el del amigo escafandra (tiene sentido, el nombre es bastante común por lo que se ve en el error). Prueba a quitar las Jedi o a instalarlas sin el paquete del trayicon a ver.

Si no tienes las Jedi, mira que no tengas algún otro componente o set de componentes que traiga un TrayIcon

Otra cosa, veo los warnings que te da el compilador y hay un par que podrían dar algún problema en ejecución (dependiendo de como esté programado) y son los dos primeros, los de "hide the virtual method of base type". No se si escafandra lo hizo a drede o es un descuido al momento de declarar los métodos.

Nos leemos

  • 0

#15 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4111 posts
  • LocationMadrid - España

Posted 08 September 2010 - 02:05 AM

El problema era que cargaba dos veces el archivo de recursos. No entiendo bien porqué no me dio el error cuando lo probé. Lo he instalado en una versión limpia de D7 y he reproducido y reparado el error.

Para instalarlo puede hacerse manualmente en un nuevo package o abrir el que trae: mio.dpk y pulsar luego install.


Subo la nueva versión en el primer mensaje de este tema.

Saludos.
  • 0

#16 esocrates

esocrates

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 102 posts
  • LocationArgentina

Posted 08 September 2010 - 06:33 AM

El problema era que cargaba dos veces el archivo de recursos. No entiendo bien porqué no me dio el error cuando lo probé. Lo he instalado en una versión limpia de D7 y he reproducido y reparado el error.

Para instalarlo puede hacerse manualmente en un nuevo package o abrir el que trae: mio.dpk y pulsar luego install.


Subo la nueva versión en el primer mensaje de este tema.

Saludos.


Muchas gracias escafandra.
Lo pude instalar y hacerlo funcionar sin problemas ahora.
Un saludo

Notas:La indicación de cadetill no solucionó el problema pero puede ser útil para
situaciones similares por el concepto
Gracias cadetill
  • 0

#17 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4111 posts
  • LocationMadrid - España

Posted 28 October 2014 - 12:42 PM

Tras advertir la necesidad de actualizar el componente, lo he realizado.

Saludos.
  • 0

#18 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4945 posts
  • LocationMéxico

Posted 28 October 2014 - 01:50 PM

Gracias  (y)
  • 0

#19 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4111 posts
  • LocationMadrid - España

Posted 30 October 2014 - 04:29 PM

Nueva actualización del componente TSysTrayIcon. Acompaño el enlace de descarga en el mensaje inicial del hilo.

Saludos.


  • 0

#20 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4945 posts
  • LocationMéxico

Posted 30 October 2014 - 05:57 PM

Una pregunta amigo. ¿Qué cambios se han incluído en esta actualización?
  • 0




IP.Board spam blocked by CleanTalk.