Functions > Tray >


TraySetState

Définit l'état d'une icône de la zone de notification.

TraySetState ( [flag = 1] )

Paramètres

flag [optionnel] Une combinaison des éléments suivants:
    $TRAY_ICONSTATE_SHOW (1) = Affiche l'icône de la zone de notification (option par défaut)
    $TRAY_ICONSTATE_HIDE (2) = Détruit/Cache l'icône de la zone de notification
    $TRAY_ICONSTATE_FLASH (4) = Fait clignoter l'icône dans la zone de notification
    $TRAY_ICONSTATE_STOPFLASH (8) = Arrête de faire clignoter l'icône dans la zone de notification
    $TRAY_ICONSTATE_RESET (16) = Ré-initialise l'icône aux valeurs par défaut (pas de clignotement, texte par défaut)

Les constantes sont définies dans "TrayConstants.au3"

Valeur de retour

Aucune.

Remarque

Cette fonction recouvre l'option Opt("TrayIconHide") and #NoTrayIcon.

Les icônes normal et pause de la zone de notification ne sont PAS réinitialisées par cette fonction!

En relation

TrayItemSetState, TraySetIcon, TraySetPauseIcon

Exemple

#NoTrayIcon
#include <MsgBoxConstants.au3>
#include <StringConstants.au3>
#include <TrayConstants.au3> ; Pour la constante $TRAY_ICONSTATE_SHOW.

; Les items du menu, par défaut, ne seront pas affichés et 
; les items ne seront pas cochés lorsqu'ils seront sélectionnés. 
; Ce sont les options 1 et 2 de TrayMenuMode.
Opt("TrayMenuMode", 3)

Example()

Func Example()
    Local $idFlash = TrayCreateItem("Flash Icon")
    TrayCreateItem("") ; Crée une ligne de séparation.

    Local $idAbout = TrayCreateItem("About")
    TrayCreateItem("") ; Crée une ligne de séparation.

    Local $idExit = TrayCreateItem("Exit")

    TraySetState($TRAY_ICONSTATE_SHOW) ; Affiche le menu dans la zone de notification.

    Local $iASlash, $sPath, $iMsg = TrayGetMsg()
    While $iMsg <> $idExit
        Switch $iMsg
            Case $idAbout 
                ; Affiche une boîte de message à propos de la version et 
                ; du chemin d'installation de l'exécutable AutoIt.

                ; Recherche de droite à gauche l'antislash qui marque la fin du chemin
                $iASlash = StringInStr(@AutoItExe, "\", $STR_NOCASESENSEBASIC, -1)
                ; Extrait le chemin seul, sans le nom, ni '\'
                $sPath = StringLeft(@AutoItExe, $iASlash - 1)

                MsgBox($MB_SYSTEMMODAL, "", "Exemple de menu dans la zone de notification." & @CRLF & @CRLF & _
                        "Version: " & @AutoItVersion & @CRLF & _
                        "Chemin d'installation: " & $sPath) 

            Case $idFlash
                ; Fait clignoter l'icône.
                TraySetState(4)
                Sleep(5000) ;Attend 5 secondes.
                ; Arrête le clignotement de l'icône.
                TraySetState(8)

        EndSwitch

        $iMsg = TrayGetMsg()
    WEnd
EndFunc   ;==>Example