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