Erstellt ein Menüeintrags-Element für den Tray.
TrayCreateItem ( "text" [, menuID = -1 [, menuentry = -1 [, menuradioitem = 0]]] )
text | Der Text des Elements. |
menuID | [optional] Ermöglicht, ein Untermenü im angegebenen Menü zu erstellen. Wenn der Wert -1 entspricht, wird das Element "hinter" dem letzten erstellten Eintrag hinzugefügt (Standardeinstellung). |
menuentry | [optional] Ermöglicht, die zu erstellende Eintragsnummer anzugeben. Die Einträge werden bei 0 beginnend nummeriert. Wenn der Wert auf -1 gesetzt wird, wird das Element "hinter" dem letzten erstellten Eintrag hinzugefügt (Standardeinstellung). |
menuradioitem | [optional] $TRAY_ITEM_NORMAL (0) = (Standard) Erstellt einen normalen Menüeintrag $TRAY_ITEM_RADIO (1) = Erstellt einen Radiobuttonmenüeintrag |
Erfolg: | Die Kennung (Control-ID) des neuen Traymenüeintrags. |
Fehler: | 0. |
Wenn der 'text'-Parameter ein leerer String ("") ist, wird eine Trennlinie erzeugt.
Standardmäßig werden normale, ausgewählte Menueinträge (keine Radiomenüeinträge) automatisch demarkiert (der Haken entfernt), wenn man darauf klickt!
Um dieses Verhalten abzustellen, verwendet man den Opt("TrayMenuMode", 2).
Radiomenüeinträge werden automatisch zusammen gruppiert und diese Gruppen sind durch eine Trennlinie oder einen normalen Menüeintrag, der kein Radiomenüeintrag ist, getrennt.
Standardmäßig wird ein geklicktes Radiomenüelement automatisch markiert und alle anderen Radioeinträge in der gleichen Gruppe demarkiert!
Um dieses Verhalten abzustellen, verwendet man den Opt("TrayMenuMode", 8).
TrayGetMsg, TrayItemDelete, TrayItemSetOnEvent, TrayItemSetState, TrayItemSetText
#include <AutoItConstants.au3>
#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()
; Erstellt ein TrayItem mit dem Itemparameter Radio.
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("") ; Erzeugt einen Trennstrich.
Local $idAbout = TrayCreateItem("Über")
TrayCreateItem("") ; Erzeugt einen Trennstrich.
Local $idExit = TrayCreateItem("Exit")
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 $idExit ; Beendet die Schleife.
ExitLoop
EndSwitch
WEnd
EndFunc ;==>Example