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.
Avec le sous-système QT, l'évènement clic-gauche renvoie un evènement doubleclic-gauche et l'évènement clic-du-milieu renvoie un clic-gauche.

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

Pour un fonctionnement nominal, un évènement systray doit toujours être associé à un menu.

Exemple

  ; Fenêtre invisible pour avoir juste le systray
  OpenWindow(0, 0, 0, 10, 10, "", #PB_Window_Invisible)

  UsePNGImageDecoder()
  AddSysTrayIcon(0, WindowID(0), LoadImage(0, #PB_Compiler_Home + "examples/sources/Data/world.png"))

  ; Crée un menu contextuel à afficher par la barre d'état système avec un aspect de barre d'état système
  CreatePopupImageMenu(0, #PB_Menu_SysTrayLook)
    MenuItem(0, "À Propos de PureBasic...")
    MenuBar()
    MenuItem(1, "Quitter")

  ; Associer le menu à la zone de notification
  SysTrayIconMenu(0, MenuID(0))

  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_Menu
        Select EventMenu()
          Case 1 ; Quitter 
            RemoveSysTrayIcon(0)
            End
        EndSelect
    EndSelect
  ForEver

Voir aussi

RemoveSysTrayIcon(), ChangeSysTrayIcon()

OS Supportés

Tous

SysTray Index - ChangeSysTrayIcon() ->