ChangeSysTrayIcon()

Syntaxe

ChangeSysTrayIcon(#SysTrayIcone, ImageID)
Description
Change une icône de la zone de notification.

Arguments

#SysTrayIcone Le numéro de l'icône à changer.
ImageID Numéro de la nouvelle image préalablement chargée par la fonction LoadImage().

Le format PNG a l'avantage d'utiliser la transparence.

Un ImageID valide peut être obtenu simplement avec la fonction ImageID().

Valeur de retour

Aucune.

Exemple

  If OpenWindow(0, 0, 0, 300, 100, "", #PB_Window_Invisible)
    ; Créer une image avec une case jaune comme icône Systray :
    If CreateImage(0, 16, 16) And StartDrawing(ImageOutput(0))
      Box(0, 0, 16 , 16, $00DDDD)
      StopDrawing()
    EndIf
    AddSysTrayIcon(0, WindowID(0), ImageID(0))
    ; Créer un menu contextuel à utiliser avec l'icône Systray :
    If CreatePopupImageMenu(0)
      MenuItem(0, "Quitter")
    EndIf
    
    AddWindowTimer(0, 0, 1000) ; Ajouter un minuteur de fenêtre qui entraînera un changement de l'icône Systray toutes les 1 000 ms.
    
    Repeat
      Select WaitWindowEvent()
        Case #PB_Event_Timer
          ; Mettre à jour l'image de l'icône Systray avec un cercle rouge de taille aléatoire sur fond jaune
          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)) ; Afficher le menu contextuel après un clic sur l'icône Systray
          EndSelect
        Case #PB_Event_Menu
          Select EventMenu()
            Case 0 ; Quittez après avoir cliqué sur l'élément de menu 'Quitter' associé à l'icône Systray
              RemoveSysTrayIcon(0)
              FreeMenu(0)
              CloseWindow(0)
              End
          EndSelect
      EndSelect
    ForEver
  EndIf

Voir aussi

AddSysTrayIcon(), RemoveSysTrayIcon()

OS Supportés

Tous

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