设置当前系统托盘菜单/项目控件的状态.
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 | 菜单项目被设置为默认菜单项目 |
#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