Funktionreferenz


TrayItemSetState

Beschreibung anzeigen in

Ändert den Status eines Traymenüs/-eintrages.

TrayItemSetState ( controlID, state )

Parameter

ControlID Die Identifikation (Control-ID) des neuen Controls, wie von einer TrayCreateItem oder TrayCreateMenu Funktion zurückgegeben wurde.
state Siehe die Statustabelle im Folgenden.

Rückgabewert

Erfolg: 1.
Fehler: 0.

Bemerkungen

Statustabelle

Status Wert Kommentar
keine Änderung 0
$TRAY_CHECKED 1 Menüeintrag wird markiert
$TRAY_UNCHECKED 4 Markierung eines Menüeintrages wird entfernt
$TRAY_ENABLE 64 Menüeintrag wird aktiviert
$TRAY_DISABLE 128 Menüeintrag wird ausgegraut
$TRAY_FOCUS 256 Menüeintrag wird ausgewählt
$TRAY_DEFAULT 512 Menüeintrag wird als Standardeintrag gesetzt

Statuswerte können aufsummiert werden. So legt z. B. $TRAY_CHECKED + $TRAY_DEFAULT fest, dass der Menüeintrag markiert und Standardeintrag ist.

Um den $TRAY_DEFAULT-Status für einen Menüeintrag zurückzusetzen/löschen, ist die Funktion mit einem anderen Status zu verwenden, wie z. B. mit $TRAY_ENABLE.

Wenn $TRAY_DEFAULT-Status für einen Menüeintrag gesetzt ist, so wird durch einen Doppelklick(mit der ersten Taste) auf das Tray-Icon dieser Menüeintrag ausgeführt. Um dieses Verhalten auszuschalten, ist Opt("TrayMenuMode", 4) zu verwenden.

Die obigen Konstanten sind in #include <TrayConstants.au3> definiert

Verwandte Funktionen

TrayCreateItem, TrayCreateMenu, TrayItemGetState, TraySetState

Beispiel

#include <MsgBoxConstants.au3>
#include <StringConstants.au3>
#include <TrayConstants.au3> ; wird für die $TRAY_CHECKED und $TRAY_ICONSTATE_SHOW Konstanten benötigt.

#NoTrayIcon

Opt("TrayMenuMode", 3) ; Die Standard Traymenüeinträge (Skript pausieren/beenden) werden nicht angezeigt und die Items werden nicht angehakt wenn diese ausgewählt werden. Verwendet wurden die Optionen 1 und 2 für TrayMenuMode.

Example()

Func Example()
    Local $idSetState = TrayCreateItem("Setzt den 'Über' Status")
    TrayCreateItem("") ; Erzeugt einen Trennstrich.

    Local $idAbout = TrayCreateItem("About")
    TrayCreateItem("") ; Erzeugt einen Trennstrich.

    Local $idExit = TrayCreateItem("Beenden")

    TraySetState($TRAY_ICONSTATE_SHOW) ; Zeigt das Traymenü.

    While 1
        Switch TrayGetMsg()
            Case $idAbout ; Zeigt ein Nachrichtenfenster mit der AutoIt Version und dem Installationspfad der AutoIt Startdatei.
                MsgBox($MB_SYSTEMMODAL, "", "AutoIt Traymenü Beispiel." & @CRLF & @CRLF & _
                        "Version: " & @AutoItVersion & @CRLF & _
                        "Installationspfad: " & StringLeft(@AutoItExe, StringInStr(@AutoItExe, "\", $STR_NOCASESENSEBASIC, -1) - 1)) ; Ermittelt den Ordner eines kompletten Pfads.

            Case $idSetState
                ; Setzt den 'Über' Item Status auf angehakt.
                TrayItemSetState($idAbout, $TRAY_CHECKED)

            Case $idExit ; Beendet die Schleife.
                ExitLoop
        EndSwitch
    WEnd
EndFunc   ;==>Example