函数参考


TrayItemSetState

设置当前系统托盘菜单/项目控件的状态.

TrayItemSetState ( 控件ID, 状态)

参数

控件ID 控件标识(controlID),参见 TrayCreateItem 或者 TrayCreateMenu 函数的返回值.
状态 查看下面的 状态列表 .

返回值

成功: 返回 1.
失败: 返回 0.

注意/说明

    状态列表


状态 说明
No Change 0
$TRAY_CHECKED 1 菜单项目被选中
$TRAY_UNCHECKED 4 菜单项目不被选中
$TRAY_ENABLE 64 应用菜单项目
$TRAY_DISABLE 128 禁用菜单项目(变成灰色)
$TRAY_FOCUS 256 菜单项目被选择
$TRAY_DEFAULT 512 菜单项目被设置为默认菜单项目

状态值可以多个状态相加,如 $TRAY_CHECKED + $TRAY_DEFAULT 将设置菜单项目被选中且设置为默认菜单项目.

要 重置/删除 $TRAY_DEFAULT 状态只需设置为其它状态,例如:设置为 $TRAY_ENABLE.

要使用上方这些常量值需要包含 #include <Constants.au3>

相关

TrayItemGetState, TrayCreateItem, TrayCreateMenu, TraySetState

示例/演示


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

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

Example()

Func Example()
    Local $iSetState = TrayCreateItem("设置 '关于' 状态")
    TrayCreateItem("") ; Create a separator line.

    Local $iAbout = TrayCreateItem("关于")
    TrayCreateItem("") ; Create a separator line.

    Local $iExit = TrayCreateItem("退出")

    TraySetState(1) ; Show the tray menu.

    While 1
        Switch TrayGetMsg()
            Case $iAbout ; Display a message box about the AutoIt version and installation path of the AutoIt executable.
                MsgBox(4096, "", "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 $iSetState
                ; Set the 'About' item state to checked.
                TrayItemSetState($iAbout, $TRAY_CHECKED)

            Case $iExit ; Exit the loop.
                ExitLoop
        EndSwitch
    WEnd
EndFunc   ;==>Example