trayicon (gb.qt4)

Esta clase implementa un icono en el área tray del escritorio.

trayicon: Esta clase no existe.

Un trayicon normalmente responde a cada evento :dblclick ? para iniciar una acción preestablecida (por ejemplo, para restaurar un formulario minimizado) o al evento :menu ? para producir un menú emergente. Mis observaciones son que la creación de un menú emegente en el aire es molesto y que lo mejor es crear un Menu "tonto" en su Form y establecer la propiedad Enabled del menú en FALSE al igual que la propiedad Visible. Entonces usted puede agregar y quitar elementos con facilidad para que coincida con el estado actual de la aplicación en las opciones disponibles del menú emergente.

También puede utilizar la propiedad Tooltip del trayicon para mostrar el estado de su aplicación cuando tal comportamiento es apropiado para su proyecto particular.

Puede crear un menú invisible oculto en su formulario principal llamado TrayMenu cuyo es también TrayMenu. Dele a su control TrayIcon el MyTrayIcon.

Veamos cómo crear menú de contextual para su trayicon. En este ejemplo TrayMenu and MyTrayIcon necesitan estar en el mismo formulario.

En el formulario que contiene MyTrayIcon y TrayMenu:
Public Sub MyTrayIcon_Menu()

    TrayMenu.Popup()

End

Actualmente puede haber problemas de estabilidad con el uso de este control.

En mi intento de utilizar este control he tenido varios errores del tipo KDE panel segfault (crash). Todos ellos después de una serie de ciclos de editar y ejecutar un proyecto de Gambas que tenia un TrayIcon en el formulario de inicio.

--Brian Jack 2006.01.29 02:28 PST

Can you be more precise about what is troublesome in creating a popup menu?

--Benoit Minisini 2006.01.29 22:59 CET

If you use the Form as a parent and create the popup Menu you need to add a bunch of bookkeeping to make sure the menu is only created once otherwise a menubar with several copies of the popup menu results. Since I do not believe there is a way to delete objects at this time it is just as well to make a persistent Menu within the Form in the IDE Menu Editor then call it up from the TrayIcon's Menu event.

--Brian Jack 2006.02.02 09:49 PST