Function Reference

首页  后退  前进

TraySetOnEvent

 

定义托盘特殊事件时调用的自定义函数.

 

TraySetOnEvent ( specialID, "function" )

参数

specialID

见下面 专用 ID 表 below.

function

调用的用户函数名称.

返回值

成功:

返回 1.

失败:

返回 0.

@error:

1 = "函数" 未定义.

备注

OnEvent(事件) 函数只能在 Opt("TrayOnEventMode", 1) 项设置为 1 时才能调用 - 此时不能使用 TrayGetMsg().

 

专用 ID 表

专用 Id

注释

$TRAY_EVENT_SHOWICON

-3

显示托盘图标.

$TRAY_EVENT_HIDEICON

-4

隐藏托盘图标.

$TRAY_EVENT_FLASHICON

-5

用户打开托盘图标闪烁(效果).

$TRAY_EVENT_NOFLASHICON

-6

用户关闭托盘图标闪烁(效果).

$TRAY_EVENT_PRIMARYDOWN

-7

鼠标左键在托盘图标上按下.

$TRAY_EVENT_PRIMARYUP

-8

鼠标左键在托盘图标上释放.

$TRAY_EVENT_SECONDARYDOWN

-9

鼠标右键在托盘图标上按下.

$TRAY_EVENT_SECONDARYUP

-10

鼠标右键在托盘图标上释放.

$TRAY_EVENT_MOUSEOVER

-11

鼠标移到托盘图标.

$TRAY_EVENT_PRIMARYDOUBLE

-13

鼠标左键双击托盘图标.

$TRAY_EVENT_SECONDARYDOUBLE

-14

鼠标右键双击托盘图标.

 

如果 "function" 为空字符串 "", 则关闭先前定义的用户函数.

上述常量需要 #include <TrayConstants.au3>.

相关

TrayItemSetOnEvent, TrayOnEventMode (Option), TraySetClick

函数示例

#NoTrayIcon
#include <MsgBoxConstants.au3>
#include <TrayConstants.au3> ; Required for the $TRAY_EVENT_PRIMARYDOUBLE, $TRAY_EVENT_SECONDARYUP and $TRAY_ICONSTATE_SHOW constants.
Opt("TrayMenuMode", 3) ; The default tray menu items will not be shown and items are not checked when selected. These are options 1 and 2 for TrayMenuMode.
Opt("TrayOnEventMode", 1) ; Enable TrayOnEventMode.
Example()
Func Example()
    TrayCreateItem("About")
    TrayCreateItem("") ; Create a separator line.
    TrayCreateItem("Exit")
    TrayItemSetOnEvent(-1, "ExitScript")
    TraySetOnEvent($TRAY_EVENT_PRIMARYDOUBLE, "TrayEvent")
    TraySetOnEvent($TRAY_EVENT_SECONDARYUP, "TrayEvent")
    TraySetState($TRAY_ICONSTATE_SHOW) ; Show the tray menu.
    While 1
        Sleep(100) ; An idle loop.
    WEnd
EndFunc   ;==>Example
Func TrayEvent()
    Switch @TRAY_ID ; Check the last tray item identifier.
        Case $TRAY_EVENT_PRIMARYDOUBLE
            ; Display a message box about the AutoIt version and installation path of the AutoIt executable.
            MsgBox($MB_SYSTEMMODAL, "", "AutoIt tray menu example." & @CRLF & @CRLF & _
                    "Version: " & @AutoItVersion & @CRLF & _
                    "Install Path: " & StringLeft(@AutoItExe, StringInStr(@AutoItExe, "\", 0, -1) - 1)) ; Find the folder of a full path.
        Case $TRAY_EVENT_SECONDARYUP
            MsgBox($MB_SYSTEMMODAL, "", "The secondary mouse button was released on the tray icon.")
    EndSwitch
EndFunc   ;==>TrayEvent
Func ExitScript()
    Exit
EndFunc   ;==>ExitScript

----------------------------------------