函数参考


TrayCreateItem

在系统托盘上面创建一个菜单项目控件.

TrayCreateItem ( 文本 [, 菜单ID [, 菜单索引 [, 菜单可选项目]]] )

参数

文本 菜单项目显示的文本.
菜单ID [可选参数] 定义此子菜单要附加到的目标菜单ID.若此值为 -1 则使用第一级菜单(默认)
菜单索引 [可选参数] 允许定义要创建的菜单项的(次序)编号.编号从0开始.若此值为 -1 则添加到最后一个编号之后(默认).
菜单可选项目 [可选参数] 0 (默认) = 创建一个标准菜单项目, 1 = 创建一个可选菜单项目.

返回值

成功: 返回创建的菜单项目的控件ID (controlID).
失败: 返回 0.

注意/说明

如果 '文本' 为空字符串 ( "" ) 就添加一个分割线.

默认状态,正常选中的菜单项目 (不是单选项目)将会在您单击后自动取消选中!
要关闭这个选项,请设置 TrayMenuMode 里面的值为 2.

单选项目会自动集合在一个组内,如果包含分割线( separator ),将不会显示为单选项目.
默认状态,正常选中的项目会选中,其它项目会取消选中状态!
要关闭这个选项,请设置 TrayMenuMode 里面的值为 8.

相关

TrayItemSetState, TrayItemSetText, TrayGetMsg, TrayItemDelete, TrayItemSetOnEvent

示例/演示


; ****************
; * 第一个例子   *
; ****************

#NoTrayIcon

Opt("TrayMenuMode", 3) ; 默认菜单项目 (脚本暂停中/退出)(Script Paused/Exit) 将不会显示,并且所选项目不能被选中(checkbox不会打勾) . 请参考TrayMenuMode选项1和2(3=1+2).

Local $prefsitem    = TrayCreateItem("参数")
TrayCreateItem("")
Local $aboutitem    = TrayCreateItem("关于")
TrayCreateItem("")
Local $exititem = TrayCreateItem("退出")

TraySetState()

While 1
    Local $msg = TrayGetMsg()
    Select
        Case $msg = 0
            ContinueLoop
        Case $msg = $prefsitem
            MsgBox(64, "参数:", "系统版本:" & @OSVersion)
        Case $msg = $aboutitem
            MsgBox(64, "关于:", "AutoIt3-托盘-例子.")
        Case $msg = $exititem
            ExitLoop
    EndSelect
WEnd

Exit


; *****************
; * 第二个例子   *
; *****************

#NoTrayIcon
#include <Constants.au3> ; Required for the $TRAY_CHECKED constant.

Opt("TrayMenuMode",1)   ; 默认托盘菜单项目(脚本已暂停/退出脚本) (Script Paused/Exit) 将不显示.

; Let's create 2 radio menuitem groups
Local $radio1   = TrayCreateItem("单选1", -1, -1, 1)
TrayItemSetState(-1, $TRAY_CHECKED)
TrayCreateItem("单选2", -1, -1, 1)
TrayCreateItem("单选3", -1, -1, 1)

TrayCreateItem("")  ; 单选按钮可以使用分隔符进行分割,或者其它类型的菜单项目.

TrayCreateItem("单选4", -1, -1, 1)
TrayCreateItem("单选5", -1, -1, 1)
TrayItemSetState(-1, $TRAY_CHECKED)
TrayCreateItem("单选6", -1, -1, 1)

TrayCreateItem("")

$aboutitem  = TrayCreateItem("关于")
TrayCreateItem("")
$exititem   = TrayCreateItem("退出")

TraySetState()

While 1
    $msg = TrayGetMsg()
    Select
        Case $msg = 0
            ContinueLoop
        Case $msg = $aboutitem
            MsgBox(64, "关于:", "AutoIt3-托盘-例子 使用单选子菜单.")
        Case $msg = $exititem
            ExitLoop
    EndSelect
WEnd

Exit