Functions > Tray >


TrayCreateItem

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

TrayCreateItem ( "text" [, menuID = -1 [, menuentry = -1 [, menuradioitem = 0]]] )

Paramètres

text Le texte du contrôle.
menuID [optionnel] Permet de créer un sous-menu dans le menu référencé. Si égal à -1, il sera ajouté 'derrière' le dernier item créé (par défaut).
menuentry [optionnel] Vous permet de définir le nombre d'entrées à créer. Les entrées sont numérotées à partir de 0. Si égal à -1, il sera ajouté 'derrière' la dernière entrée créée (par défaut).
menuradioitem [optionnel]
    $TRAY_ITEM_NORMAL (0) (par défaut) = crée un menuitem normal
    $TRAY_ITEM_RADIO (1) = crée un 'menuradioitem'.

Les constantes sont définies dans "TrayConstants.au3".

Valeur de retour

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

Remarques

Si le paramètre 'text' est une chaîne vide ( "" ), alors une ligne de séparation est créée.

Par défaut, un item de menu coché (pas un item de menu radio) sera automatiquement décoché si vous cliquez dessus!
Pour désactiver ce comportement, utilisez Opt("TrayMenuMode", 2).

Les items de menu radio sont automatiquement regroupés et ces groupes sont séparés par une ligne de séparation ou un item normal, qui n'est pas un item radio.
Par défaut, un item de menu radio cliqué sera automatiquement coché et tous les autres items radio du même groupe seront décochés!
Pour désactiver ce comportement, utilisez Opt("TrayMenuMode", 8).

En relation

TrayGetMsg, TrayItemDelete, TrayItemSetOnEvent, TrayItemSetState, TrayItemSetText

Exemple

#NoTrayIcon
#include <AutoItConstants.au3>
#include <MsgBoxConstants.au3>
#include <StringConstants.au3>
#include <TrayConstants.au3> ; Nécessite les constantes $TRAY_CHECKED et  $TRAY_ICONSTATE_SHOW.

; Les items par défaut du menu de la zone de notification ne seront pas affichés et 
; ils ne seront pas cochés lorsqu'il seront sélectionnés. 
; Ce sont les options 1 et 2 de TrayMenuMode.
Opt("TrayMenuMode", 3)

Example()

Func Example()
    ; Crée un item de la zone de notification avec le paramètre radio sélectionné.
    TrayCreateItem("Radio 1", -1, -1, $TRAY_ITEM_RADIO)
    TrayItemSetState(-1, $TRAY_CHECKED)
    TrayCreateItem("Radio 2", -1, -1, $TRAY_ITEM_RADIO)
    TrayCreateItem("Radio 3", -1, -1, $TRAY_ITEM_RADIO)

    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
        If $iMsg = $idAbout Then 
            ; 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) 
        EndIf          
        $iMsg = TrayGetMsg()
    WEnd 

EndFunc   ;==>Example