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