Functions > Tray >


TrayItemSetState

D�finit l'�tat d'un contr�le menu/menuitem de la zone de notification.

TrayItemSetState ( controlID, state )

Param�tres

controlID L'ID du contr�le tel que retourn� par la fonction TrayCreateItem ou TrayCreateMenu.
state Consultez le Tableau des �tats ci-dessous.

Valeur de retour

Succ�s: Retourne 1.
�chec: Retourne 0.

Remarques

Tableau des �tats
Etat Valeur Commentaires
No Change 0
$TRAY_CHECKED 1 L'item du menu sera coch�
$TRAY_UNCHECKED 4 L'item du menu sera d�coch�
$TRAY_ENABLE 64 L'item du menu sera activ�
$TRAY_DISABLE 128 L'item du menu sera gris�
$TRAY_FOCUS 256 L'item du menu sera s�lectionn�
$TRAY_DEFAULT 512 L'item du menu sera d�fini comme l'item par d�faut

Les valeurs de l'�tat peuvent s'ajouter comme par exemple $TRAY_CHECKED + $TRAY_DEFAULT qui d�finit l'item du menu dans l'�tat coch� et l'�tat par d�faut.

Pour r�initialiser ou effacer l'�tat $TRAY_DEFAULT pour un item de menu il suffit d'utiliser cette fonction sur l'item avec un autre �tat, par exemple avec $TRAY_ENABLE.

Lorsque vous d�finissez l'�tat $TRAY_DEFAULT pour un item de menu, le comportement par d�faut d'un double-clic gauche sur l'ic�ne de la zone de notification est d'ex�cuter cet item par d�faut. Pour d�sactiver ce comportement utilisez Opt("TrayMenuMode", 4).

Les constantes ci-dessus sont d�finies dans "TrayConstants.au3"

En relation

TrayCreateItem, TrayCreateMenu, TrayItemGetState, TraySetState

Exemple

#NoTrayIcon
#include <MsgBoxConstants.au3>
#include <StringConstants.au3>
#include <TrayConstants.au3> ; Pour les constantes $TRAY_CHECKED et $TRAY_ICONSTATE_SHOW.

Opt("TrayMenuMode", 3) ; Les items du menu de la zone de notification, 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.

Example()

Func Example()
    Local $idSetState = TrayCreateItem("Set 'About' State")
    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 $idSetState
                ; D�finit l'�tat de l'item 'About' � l'�tat coch�.
                TrayItemSetState($idAbout, $TRAY_CHECKED)

        EndSwitch

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