trayicon (gb.qt4)
该类实现一个托盘图标。
trayicon: 该类不存在
A
trayicon typically responds to either the
:dblclick ? 事件 to initiate a preset action (for instance to restore a minimized
Form) or the
:menu ? event to
produce a popup
Menu. My observations are that creating a popup on the fly is troublesome
and that it is best to create a
"stub" Menu in your
Form and set that menu's
Enabled 属性 to
FALSE and its
Visible property to
FALSE. Then you can add and remove items with ease to match the current state of the
application in the available popup menu options.
也可以用托盘图标的
Tooltip属性来显示应用程序状态,以满足特殊工程需要的行为。
在主窗体中创建一个名称和标识符均为*TrayMenu*的隐含不可见菜单。托盘图标控件的标识符为*MyTrayIcon*。想给托盘图标创建一个上下文菜单。该示例中*TrayMenu*和*MyTrayIcon*需要在同一个窗体中。
在窗体中含有*MyTrayIcon*和*TrayMenu*:
Public Sub MyTrayIcon_Menu()
TrayMenu.Popup()
End
There may be stability issues with the use of this control at present.
In my attempt to use this control I've had the KDE panel segfault (crash) on several
occasions after a number of edit/run cycles of a Gambas project using a TrayIcon in the
startup form.
--
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