AddSysTrayIcon()

Syntaxe

Resultat = AddSysTrayIcon(#SysTrayIcone, FenetreID, ImageID)
Description
Ajoute une icône dans la zone de notification.

Arguments

#SysTrayIcone Le numéro de la nouvelle icône.

PB_Any # peut être utilisé pour générer automatiquement ce numéro.
FenetreID L'identifiant système de la fenêtre.

Peut être obtenu avec la fonction WindowID().
ImageID Numéro de l'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

Renvoie une valeur non nulle en cas de succès, zéro sinon.

Remarques

Quand un évènement intervient sur une icône de la zone SysTray, l'évènement #PB_Event_SysTray est renvoyé. EventGadget() peut alors être utilisé pour connaître l'icône cliquée.
La fonction EventType() est également mise à jour par cette fonction.

Toutes vos icônes SysTray sont automatiquement supprimées à la fermeture du programme.

Exemple

  If OpenWindow(0, 0, 0, 300, 100, "", #PB_Window_Invisible)
    ; Créer un menu contextuel et une icône Systray (symbole CD) :
    If CreatePopupImageMenu(0)
      MenuItem(0, "Quitter")
    EndIf
    AddSysTrayIcon(0, WindowID(0), LoadImage(0, #PB_Compiler_Home + "Examples\Sources\Data\CdPlayer.ico"))
    
    Repeat
      Select WaitWindowEvent()
        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 ; Quitter
              RemoveSysTrayIcon(0)
              FreeMenu(0)
              CloseWindow(0)
              End
          EndSelect
      EndSelect
    ForEver
  EndIf

Voir aussi

RemoveSysTrayIcon(), ChangeSysTrayIcon()

OS Supportés

Tous

SysTray Index - ChangeSysTrayIcon() ->