基 础 函 数 参 考


TrayCreateItem

创建托盘菜单项目控件.

TrayCreateItem ( 文本 [, 菜单ID [, 菜单项 [, 单选菜单项]]] )

参 数

文本 控件显示的文本.
菜单ID [可选参数] 创建主菜单引用的子菜单. 如为 -1, 则添加到上次创建菜单的末尾 (默认).
菜单项 [可选参数] 定义创建的菜单项数量. 菜单项编号从 0 开始. 如为 -1, 则添加到上次创建菜单的末尾 (默认).
单选菜单项 [可选参数] 0 (默认) = 创建标准菜单项目, 1 = 创建单选菜单项目.

返 回 值

成功: 返回托盘菜单项目的控件ID.
失败: 返回 0.

备 注

如果 "文本" 为空字符串 ( "" ), 则添加一个分隔线.

默认菜单项目为正常选中(不是单选), 用户单击后自动取消选中!
要关闭此特性, 设置 TrayMenuMode 的参数值为 2.

单选菜单项会自动组合在一起, 组合之间由一个分隔行分隔, 或不是单选菜单.
默认点击单选菜单项将自动被选中, 同一组的其它单选菜单项目将自动取消选中状态!
要关闭此特性, 设置 TrayMenuMode 的参数值为 8.

相 关 函 数

TrayItemSetState, TrayItemSetText, TrayGetMsg, TrayItemDelete, TrayItemSetOnEvent

函 数 示 例


; ****************
; * 第一个示例 *
; ****************

#NoTrayIcon

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

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 ; 这个 "Exit" 不注释, 则第二个例子不会执行


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

#include <Constants.au3>
#NoTrayIcon

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

; 创建 2 个单选菜单项目组
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

provider with jb51.net (unicode)