Benutzer-Werkzeuge

Webseiten-Werkzeuge


k19:k19.2:start

19.2 TrayIcon - TrayIcons

Die Komponente gb.gui.trayicon ermöglicht es, ein Tray-Icon in der Taskleiste anzuzeigen. Es werden die folgenden System-Tray-Protokolle unterstützt:

  • Die alte X11-Freedesktop-System-Tray-Spezifikation,
  • das KDE DBus-System-Tray-Protokoll und
  • das Unity DBus-System-Tray-Protokoll.

Das DBus-Systemprotokoll sollte Standard sein, aber leider sind KDE- und Ubuntu-Implementierungen nicht miteinander kompatibel! Die Komponente untersucht daher zur Laufzeit, welche Art von System-Tray auf dem System verfügbar ist. Danach wird automatisch das passende Protokoll gewählt. Die Komponente gb.dbus wird nur dann geladen, wenn auch das DBus-Protokoll verwendet wird.

Während die Klasse TrayIcon ein Tray-Icon implementiert, stellt die Klasse TrayIcons eine virtuelle Sammlung aller TrayIcon-Objekte zu Verfügung, die von einer Anwendung verwaltet werden.

19.2.1 Klasse TrayIcon

Die Klasse TrayIcon verfügt über diese Eigenschaften:

19.2.1.1 Eigenschaften

EigenschaftDatentypBeschreibung
IconPictureGibt das Symbol zurück oder setzt das Symbol für das Tray-Icon.
PicturePictureEin Synonym für die Icon-Eigenschaft.
PopupMenuStringDer Name des Menüs wird gesetzt oder zurück gegeben, wenn ein Nutzer auf das Tray-Icon klickt.
TagVariantGibt den Wert der Tag-Eigenschaft zurück oder setzt den Wert dieser Eigenschaft. Diese Eigenschaft ist für den Programmierer bestimmt und wird von der Komponente nie verwendet. Tag kann einen beliebigen Wert vom Typ Variant annehmen.
ToolTipStringGibt den Text des Tool-Tipps zurück oder setzt den Text des Tool-Tipps, der für das Tray-Icon angezeigt wird.
TextStringEin Synonym für die Tooltip-Eigenschaft.
VisibleBooleanGibt an, ob das Tray-Icon sichtbar ist oder legt mit True fest, dass das Tray-Icon sichtbar ist.

Tabelle 19.2.1.1.1: Eigenschaften der Klasse TrayIcon

19.2.1.2 Eigenschaften

Die Klasse TrayIcon besitzt nur drei Methoden:

MethodeBeschreibung
Delete( )Löscht ein TrayIcon-Objekt.
Hide()Blendet das Tray-Icon aus dem System-Tray aus.
Show()Zeigt das Tray-Icon im System-Tray an.

Tabelle 19.2.1.2.1: Methoden der Klasse TrayIcon

Hinweis:
Wenn Sie das Fenster einer Anwendung schließen wollen, die ein TrayIcon-Objekt verwendet, dann müssen Sie vorher die Methode TrayIcon.Hide() verwenden!

19.2.1.3 Ereignisse

Nur drei Ereignisse werden durch die Klasse TrayIcon ausgelöst:

  • _Click,
  • _MiddleClick und
  • _Scroll(Delta As Float, Orientation As Integer)
EreignisBeschreibung
ClickDieses Ereignis wird ausgelöst, wenn der Benutzer mit der linken Maustaste auf das Tray-Icon klickt.
MiddleClickDieses Ereignis wird ausgelöst, wenn der Benutzer mit der mittleren Maustaste auf das Tray-Icon klickt.
Scroll ( Delta As Float, Orientation As Integer )Dieses Ereignis wird ausgelöst, wenn der Benutzer mit der Maus auf dem Tray-Icon scrollt.

Tabelle 19.2.1.3.1: Ereignisse der Klasse TrayIcon

Hinweise zum Scroll(…)-Ereignis

  • Delta ist der Delta-Wert des Scroll-Ereignisses. Ein positiver Wert für Delta zeigt an, dass das Rad vom Benutzer weg nach vorne gedreht wurde. Ein negativer Wert zeigt an, dass das Rad rückwärts zum Benutzer gedreht wurde.
  • Orientation ist die Orientierung des Scroll-Ereignisses. Die Orientierung kann eine der folgenden Konstanten sein: TrayIcon.Horizontal (0) und TrayIcon.Vertical (1).
  • Beispiel für den Einsatz: Wenn Sie das Mausrad benutzen, so können Sie über das Scroll(…)-Ereignis die Lautstärke eines im Hauptprogramm verwendeten Players erhöhen oder vermindern.
  • Im Download-Bereich finden Sie ein interessantes Projekt von Gianluigi (bagonergi@gmail.com), bei dem über das Scroll(…)-Ereignis das Icon alternativ geändert wird. Damit wird zu unterschiedlichen Icons jeweils ein anderes Kontext-Menü aufgerufen.

Im Kapitel 13.6 Kontextmenü – TrayIcon finden Sie ein Projekt, dass ausgewählte Eigenschaften, Methoden und Ereignisse der Klasse TrayIcon einsetzt.

19.2.2 Klasse TrayIcons

Diese Klasse implementiert eine virtuelle Sammlung aller TrayIcon-Objekte, die von einer Anwendung verwaltet werden. Diese Klasse verhält sich wie eine Nur-Lese-Klasse.

Dim hTrayIcon As TrayIcon
hTrayIcon = TrayIcons [ Index As Integer ]

Über alle TrayIcon-Objekte kann mit dem Schlüsselwort-Paar „For Each“ iteriert werden:

Dim hTrayIcon As TrayIcon
For Each hTrayIcon In TrayIcons
...
Next

Während die Eigenschaft TrayIcons.Count die Anzahl der von einer Anwendung verwalteten TrayIcon-Objekte zurück gibt, löscht die einzige Methode TrayIcons.DeleteAll() der Klasse TrayIcons alle TrayIcon-Objekte.

Download

Die Website verwendet zwei temporäre Session-Cookies. Diese technisch notwendigen Cookies werden gelöscht, wenn der Web-Browser geschlossen wird! Informationen zu Cookies erhalten Sie in der Datenschutzerklärung.
k19/k19.2/start.txt · Zuletzt geändert: 16.02.2018 (Externe Bearbeitung)

Seiten-Werkzeuge