Ändert den Status eines Traymenüs/-eintrages.
TrayItemSetState ( controlID, state )
| ControlID | Die Identifikation (Control-ID) des neuen Controls, wie von einer TrayCreateItem oder TrayCreateMenu Funktion zurückgegeben wurde. |
| state | Siehe die Statustabelle im Folgenden. |
| Erfolg: | 1. |
| Fehler: | 0. |
| 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 |
TrayCreateItem, TrayCreateMenu, TrayItemGetState, TraySetState
#NoTrayIcon
#include <MsgBoxConstants.au3>
#include <StringConstants.au3>
#include <TrayConstants.au3> ; wird für die $TRAY_CHECKED und $TRAY_ICONSTATE_SHOW Konstanten benötigt.
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