Funktionreferenz


TrayCreateItem

Beschreibung anzeigen in

Erstellt ein Menüeintrags-Element für den Tray.

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

Parameter

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

Rückgabewert

Erfolg: Die Kennung (Control-ID) des neuen Traymenüeintrags.
Fehler: 0.

Bemerkungen

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).

Verwandte Funktionen

TrayGetMsg, TrayItemDelete, TrayItemSetOnEvent, TrayItemSetState, TrayItemSetText

Beispiel

#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