ChangeSysTrayIcon()

Syntax

ChangeSysTrayIcon(#SysTrayIcon, ImageID)
Beschreibung
Ändert das angegebene Icon im SysTray-Bereich.

Parameter

#SysTrayIcon Das zu ändernde Systray-Icon.
ImageID Das neue Bild, welches für das Systray-Icon verwendet werden soll. Es ist ratsam, ein PNG-Bild zu verwenden, um einen Transparenz-Layer zu haben. ImageID() kann benutzt werden, um einfach diese ID zu ermitteln.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Beispiel

  If OpenWindow(0, 0, 0, 300, 100, "", #PB_Window_Invisible)
    ; Erstellt ein Bild mit einer gelben Box, welches für das Systray-Icon verwendet wird:
    If CreateImage(0, 16, 16) And StartDrawing(ImageOutput(0))
      Box(0, 0, 16 , 16, $00DDDD)
      StopDrawing()
    EndIf
    AddSysTrayIcon(0, WindowID(0), ImageID(0))
    ; Erstellt ein Pop-up Menü, welches später mit dem Systray Icon verwendet wird:
    If CreatePopupImageMenu(0)
      MenuItem(0, "Exit")
    EndIf
    
    AddWindowTimer(0, 0, 1000) ; Fügt einen Window-Timer hinzu, der einen Wechsel des Systray Icons aller 1000 ms auslösen soll
    
    Repeat
      Select WaitWindowEvent()
        Case #PB_Event_Timer
          ; Aktualisiere das Bild des Systray Icons mit einem zufälligen roten Kreis auf gelbem Hintergrund
          If StartDrawing(ImageOutput(0))
            Box(0, 0, 16 , 16, $00DDDD)
            Radius = Random(6, 2)
            Circle(8, 8, Radius, $0000DD)
            StopDrawing()
            ChangeSysTrayIcon(0, ImageID(0))
          EndIf
        Case #PB_Event_SysTray
          Select EventType()
            Case #PB_EventType_RightClick, #PB_EventType_LeftClick
              DisplayPopupMenu(0, WindowID(0)) ; Zeige das Pop-up Menü nach einem Mausklick auf das Systray Icon
          EndSelect
        Case #PB_Event_Menu
          Select EventMenu()
            Case 0 ; Programm beenden nach einem Klick auf das 'Exit'-Menü, welches mit dem Systray-Icon verknüpft wurde
              RemoveSysTrayIcon(0)
              FreeMenu(0)
              CloseWindow(0)
              End
          EndSelect
      EndSelect
    ForEver
  EndIf

Siehe auch

AddSysTrayIcon()

Unterstützte OS

Alle

<- AddSysTrayIcon() - SysTray Inhaltsverzeichnis - IsSysTrayIcon() ->