Functions > Tray >


TrayItemDelete

Supprime un contrôle menu/menuitem de la zone de notification.

TrayItemDelete ( controlID )

Paramètre

controlID L'ID du contrôle tel que retourné par la fonction TrayCreateItem ou TrayCreateMenu.

Valeur de retour

Succès: Retourne 1.
Échec: Retourne 0.

En relation

TrayCreateItem, TrayCreateMenu

Exemple

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

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

Example()

Func Example()
    Local $idDelete = TrayCreateItem("Delete")
    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 de la zone de notification.

    Local $iASlash, $sPath, $iResult, $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.
                
                ; Recherhe de droite à gauche l'antislash qui indique 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 de la zone de notification." & @CRLF & @CRLF & _
                    "Version: " & @AutoItVersion & @CRLF & _
                    "Chemin d'installation: " & $sPAth)

            Case $idDelete
                ; Affiche une boîte de message pour demander confirmation.
                ; Si la valeur de retour de MsgBox est égale à $IDYES alors supprime l'élément 'Delete'.
                $iResult = MsgBox(BitOR($MB_YESNO, $MB_SYSTEMMODAL), "", "Voulez-vous supprimer l'élément 'Delete' du menu de la zone de notification?")
                If $iResult = $IDYES Then
                    TrayItemDelete($idDelete) ; Supprime l'élément de menu.
                EndIf

        EndSwitch

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