Functions > Tray >


TrayCreateMenu

Crée un contrôle menu dans la zone de notification.

TrayCreateMenu ( "sub/menutext" [, menuID = -1 [, menuentry = -1]] )

Paramètres

sub/menutext Le texte du menu ou du sous-menu.
menuID [optionnel] Si défini, vous permet de créer un sous-menu dans le menu référencé. Par défaut, -1 (fait référence au premier niveau du menu).
menuentry [optionnel] Vous permet de définir le nombre d'entrées à créer. Les entrées sont numérotées à partir de 0. Par défaut -1 (en bas).

Valeur de retour

Succès: Retourne l'identifiant (controlID) du nouveau menu de la zone de notification.
Échec: Retourne 0.

En relation

TrayGetMsg, TrayItemDelete, TrayItemSetState, TrayItemSetText

Exemple

#NoTrayIcon
#include <MsgBoxConstants.au3>
#include <StringConstants.au3>
#include <TrayConstants.au3> ; Required for the $TRAY_ICONSTATE_SHOW constant.

; 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 quand ils seront sélectionnés. Ce sont les options 1 et 2 de TrayMenuMode.
Opt("TrayMenuMode", 3) 

Example()

Func Example()
    Local $iSettings = TrayCreateMenu("Settings") ; Crée un sous-menu du menu de la zone de notification avec deux sous-items.
    Local $iDisplay = TrayCreateItem("Display", $iSettings)
    Local $iPrinter = TrayCreateItem("Printer", $iSettings)
    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 barre.

    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, "", "AutoIt tray menu example." & @CRLF & @CRLF & _
                        "Version: " & @AutoItVersion & @CRLF & _
                        "Chemin d'installation: " & $sPath) 

            Case $iDisplay, $iPrinter
                MsgBox($MB_SYSTEMMODAL, "", "Un item d'un sous-menu a été sélectionné dans le menu de la zone de notification.")

        EndSwitch

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