Funktionreferenz


TraySetOnEvent

Beschreibung anzeigen in

Definiert eine Benutzerfunktion, welche aufgerufen werden soll, wenn eine besondere Trayaktion passiert.

TraySetOnEvent ( specialID, "function" )

Parameter

specialID Siehe Spezielle ID Tabelle im Folgenden.
function Der Name der aufzurufenden Funktion.

Rückgabewert

Erfolg: 1.
Fehler: 0.
@error: 1 = "function" ist nicht definiert.

Bemerkungen

OnEvent Funktionen werden nur aufgerufen, wenn die Opt("TrayOnEventMode", 1). In diesem Modus wird TrayGetMsg() überhaupt nicht verwendet.


    Spezielle ID Tabelle

Spezielle Id Wert Kommentar
$TRAY_EVENT_SHOWICON -3 Das Trayicon wird gezeigt.
$TRAY_EVENT_HIDEICON -4 Das Trayicon wird versteckt.
$TRAY_EVENT_FLASHICON -5 Der Benutzer schaltet das Blinken des Trayicons ein.
$TRAY_EVENT_NOFLASHICON -6 Der Benutzer schaltet das Blinken des Trayicons aus.
$TRAY_EVENT_PRIMARYDOWN -7 Die erste Maustaste wurde über dem Trayicon gedrückt.
$TRAY_EVENT_PRIMARYUP -8 Die erste Maustaste wurde über dem Trayicon losgelassen.
$TRAY_EVENT_SECONDARYDOWN -9 Die zweite Maustaste wurde über dem Trayicon gedrückt.
$TRAY_EVENT_SECONDARYUP -10 Die zweite Maustaste wurde über dem Trayicon losgelassen.
$TRAY_EVENT_MOUSEOVER -11 Die Maus bewegt sich über das Trayicon.
$TRAY_EVENT_PRIMARYDOUBLE -13 Die erste Maustaste wurde über dem Trayicon doppelgeklickt.
$TRAY_EVENT_SECONDARYDOUBLE -14 Die zweite Maustaste wurde über dem Trayicon doppelgeklickt.

Falls ein leerer String ("") als Parameter "function" übergeben wird, wird die zuvor verwendete Benutzerfunktion deaktiviert.

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

Verwandte Funktionen

TrayItemSetOnEvent, TrayOnEventMode (Option), TraySetClick

Beispiel

#include <MsgBoxConstants.au3>
#include <StringConstants.au3>
#include <TrayConstants.au3> ; wird für die $TRAY_EVENT_PRIMARYDOUBLE, $TRAY_EVENT_SECONDARYUP 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.
Opt("TrayOnEventMode", 1) ; Aktiviert TrayOnEventMode.

Example()

Func Example()
    TrayCreateItem("Über")

    TrayCreateItem("") ; Erzeugt einen Trennstrich.

    TrayCreateItem("Beenden")
    TrayItemSetOnEvent(-1, "ExitScript")

    TraySetOnEvent($TRAY_EVENT_PRIMARYDOUBLE, "TrayEvent")
    TraySetOnEvent($TRAY_EVENT_SECONDARYUP, "TrayEvent")

    TraySetState($TRAY_ICONSTATE_SHOW) ; Zeigt das Traymenü.

    While 1
        Sleep(100) ; CPU-Last verhindern
    WEnd
EndFunc   ;==>Example

Func TrayEvent()
    Switch @TRAY_ID ; Prüft die letzt Trayitem-ID.
        Case $TRAY_EVENT_PRIMARYDOUBLE
            ; 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 $TRAY_EVENT_SECONDARYUP
            MsgBox($MB_SYSTEMMODAL, "", "Die rechte Maustaste wurde über dem Trayicon losgelassen.")

    EndSwitch
EndFunc   ;==>TrayEvent

Func ExitScript()
    Exit
EndFunc   ;==>ExitScript