Functions > Tray >


TrayItemSetOnEvent

D�finit l'appel d'une fonction utilisateur lorsqu'un �l�ment de la zone de notification est cliqu�.

TrayItemSetOnEvent ( itemID, "function" )

Param�tres

itemID L'ID de l'item tel que retourn� par la fonction TrayCreateItem.
function Le nom de la fonction utilisateur � appeler.

Valeur de retour

Succ�s: Retourne 1.
�chec: Retourne 0.
@error: 1 = la fonction utilisateur n'est pas d�finie.

Remarques

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

Dans la fonction utilisateur appel�e l'identifiant de l'�l�ment peut �tre r�cup�r� avec @TRAY_ID.

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

En relation

TrayCreateItem, TrayGetMsg, TrayOnEventMode (Option), TraySetOnEvent

Exemple

#NoTrayIcon
#include <MsgBoxConstants.au3>
#include <StringConstants.au3>
#include <TrayConstants.au3>

; Les �l�ments de menu de la zone de notification, par d�faut, ne seront pas affich�s 
; et les items ne sont 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")
    TrayItemSetOnEvent(-1, "About")

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

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

    ; Affiche la MsgBox About lorsque l'ic�ne de la zone de notification est double-cliqu�e avec le bouton principal de la souris.
    TraySetOnEvent($TRAY_EVENT_PRIMARYDOUBLE, "About")

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

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

Func About()
    ; Affiche une bo�te de message � propos de la version et 
    ; du chemin d'installation de l'ex�cutable AutoIt.
    Local $iASlash, $sPath
    
    ; 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) 
EndFunc   ;==>About

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