316428696 发表于 2010-1-27 12:47:09

关于托盘右键菜单的问题

本帖最后由 316428696 于 2010-1-27 12:57 编辑

#Include <Constants.au3>
#NoTrayIcon

Opt("TrayMenuMode",1)      ; Default tray menu items (Script Paused/Exit) will not be shown.

$settingsitem      = TrayCreateMenu("设置")
$displayitem      = TrayCreateItem("显示", $settingsitem)
$printeritem      = TrayCreateItem("打印", $settingsitem)
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

以上代码是一段托盘图标右键菜单的代码,但是不能使用单选,菜单勾选后,都会2个打勾!
想问下各位高手有什么好的解决办法么?选中时,只一个打勾!

316428696 发表于 2010-1-27 12:56:31

自己找到解决办法了,又查看了帮助文件!
找到了原因!
解决办法如下:
$radio2        = TrayCreateItem("单选2", -1, -1, 1)

其实就是 TrayCreateItem("单选2", -1, -1, 1) 的函数,最后一个参数改成1,默认是多选中,即对钩,改成1后是黑色的圆点,即单选中,也不需要什么判断了!
;*****************
; * 第二个例子       *
; *****************

#Include <Constants.au3>
#NoTrayIcon

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

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

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

$radio4        = TrayCreateItem("单选4", -1, -1, 1)
$radio5        = TrayCreateItem("单选5", -1, -1, 1)
TrayItemSetState(-1, $TRAY_CHECKED)
$radio6        = 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

316428696 发表于 2010-1-27 12:59:10

麻烦管理员帮我移动到以解决区去,我这边编辑,没有下拉列表!无法更改状态!

nxbigdaddy 发表于 2010-1-27 13:50:00

不错不错,我也在找这个问题

阿祥 发表于 2010-1-27 16:54:36

学习下。。

pingfan5888 发表于 2010-3-4 21:06:31

不错的例子

zmj2008 发表于 2010-3-14 23:33:56

不错不错现在都加进了 3.3.5.3版本的HELP了
页: [1]
查看完整版本: 关于托盘右键菜单的问题