找回密码
 加入
搜索
楼主: xg911335

关于判断控件状态的问题。

[复制链接]
发表于 2008-10-15 10:51:23 | 显示全部楼层
原帖由 xg911335 于 2008-10-14 21:02 发表
我篇帖子让我学到了数组,非常感谢“liongodmien”兄弟。我按你的方法运行了一下。运行后,没有选择任何checkbox,点确定提示:“至少选择一个”,当我随便点一个checkbox,还是提示:“至少选择一个”。不过我把 If ...

不好意思,那天没看清就发出去了,其中一行有错误了,修正:

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Const $N = 22
Dim $Checkbox[$N], $var[$N - 1], $v = 0
Opt('trayautopause', 0)
Opt('guioneventmode', 1)
$form = GUICreate('test')
$Checkbox[1] = GUICtrlCreateCheckbox("test", 8, 128, 175, 17)
$Checkbox[2] = GUICtrlCreateCheckbox("test", 8, 160, 175, 17)
$Checkbox2 = GUICtrlCreateCheckbox("EXIT", 200, 360, 75, 17)
$button3 = GUICtrlCreateButton('test', 8, 210, 50,20)
GUICtrlSetOnEvent($button3, 'Button3')
GUISetState(@SW_SHOW)

Func Button3()
        $var[0] = 0
        For $i = 1 To $N - 1
                If GUICtrlRead($Checkbox[$i],0) = $GUI_CHECKED Then
                        $v = $v + 1
                        $var[$v] = $i
                        $var[0] = $var[0] + 1
                EndIf
        Next
        If $var[0] = 0 Then
                MsgBox(0,"提示"," 至少选择一个。五秒后将退出本程序",5)
                Return 0
        Else
                MsgBox(0,"提示","  开始运行程序。五秒后将关闭本窗口",5)
                Return 1
        EndIf
EndFunc

Do
        If GUICtrlRead($Checkbox2) = $GUI_CHECKED Then Exit
        Sleep(100)
Until  0
 楼主| 发表于 2008-10-15 19:15:18 | 显示全部楼层
非常感谢两位。以后遇到类似的问题也有个参考了。感谢。问题已解决。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-12 09:12 , Processed in 0.063563 second(s), 13 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表