Functions > Tray >


TraySetOnEvent

Définit une fonction-utilisateur qui sera appelée lors d'une action spéciale dans la zone de notification.

TraySetOnEvent ( specialID, "function" )

Paramètres

specialID Voir le tableau des IDs Spéciaux ci-dessous.
function Le nom de la fonction-utilisateur à appeler.

Valeur de retour

Succès: Retourne 1.
Échec: Retourne 0.
@error: 1 = le paramètre "function" n'est pas défini.

Remarques

Les fonctions OnEvent sont appelée uniquement lorsque l'option Opt("TrayOnEventMode", 1) est utilisée - dans ce mode, TrayGetMsg() n'est PAS utilisée du tout.

Table des IDs Spéciaux
ID Spécial Valeur Commentaires
$TRAY_EVENT_SHOWICON -3 L'icône de la zone de notification sera affiché.
$TRAY_EVENT_HIDEICON -4 L'icône de la zone de notification sera caché.
$TRAY_EVENT_FLASHICON -5 L'utilisateur active le clignotement de l'icône de la zone de notification.
$TRAY_EVENT_NOFLASHICON -6 L'utilisateur désactive le clignotement de l'icône de la zone de notification.
$TRAY_EVENT_PRIMARYDOWN -7 Le bouton principal de la souris a été pressé sur l'icône de la zone de notification.
$TRAY_EVENT_PRIMARYUP -8 Le bouton principal de la souris a été relaché sur l'icône de la zone de notification.
$TRAY_EVENT_SECONDARYDOWN -9 Le bouton secondaire de la souris a été pressé sur l'icône de la zone de notification.
$TRAY_EVENT_SECONDARYUP -10 Le bouton secondaire de la souris a été relaché sur l'icône de la zone de notification.
$TRAY_EVENT_MOUSEOVER -11 La souris passe au dessus de l'icône de la zone de notification.
$TRAY_EVENT_PRIMARYDOUBLE -13 Le bouton principal de la souris a été pressé deux fois sur l'icône de la zone de notification.
$TRAY_EVENT_SECONDARYDOUBLE -14 Le bouton secondaire de la souris a été pressé deux fois sur l'icône de la zone de notification.

Si la fonction est une chaîne vide "" la fonction utilisateur précédente est désactivée.

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

En relation

TrayItemSetOnEvent, TrayOnEventMode (Option), TraySetClick

Exemple

#NoTrayIcon
#include <MsgBoxConstants.au3>
#include <StringConstants.au3>
#include <TrayConstants.au3> ; Pour les constantes $TRAY_EVENT_PRIMARYDOUBLE, $TRAY_EVENT_SECONDARYUP et $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)

; Active TrayOnEventMode.
Opt("TrayOnEventMode", 1)

Global $bStopScript = False
Example()

Func Example()
    TrayCreateItem("About")

    TrayCreateItem("") ; Crée une ligne de séparation.

    TrayCreateItem("Exit")
    TrayItemSetOnEvent(-1, "ExitScript")

    TraySetOnEvent($TRAY_EVENT_PRIMARYDOUBLE, "TrayEvent")
    TraySetOnEvent($TRAY_EVENT_SECONDARYUP, "TrayEvent")

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

    While Not $bStopScript
        Sleep(100) ; Une boucle d'inactivité.
    WEnd
EndFunc   ;==>Example

Func TrayEvent()
    Local $iASlash, $sPath

    Switch @TRAY_ID ; Teste le dernier identifiant de l'item.
        Case $TRAY_EVENT_PRIMARYDOUBLE
            ; 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 $TRAY_EVENT_SECONDARYUP
            MsgBox($MB_SYSTEMMODAL, "", "Le bouton secondaire de la souris a été relaché sur l'icône de la zone de notification.")

    EndSwitch
EndFunc   ;==>TrayEvent

Func ExitScript()
    $bStopScript = True
EndFunc   ;==>ExitScript