为何禁用复选框,还是对其进行更改操作,并调用相应代码,有源码
#include <GUIConstantsEx.au3>Opt('MustDeclareVars', 1)
Dim $wr
Example()
Func Example()
Local $checkCN, $msg
GUICreate("My GUI Checkbox"); will create a dialog box that when displayed is centered
$checkCN = GUICtrlCreateCheckbox("CHECKBOX 1", 10, 10, 120, 20)
$wr=GUICtrlCreateCheckbox("CHECKBOX 1", 20, 20, 120, 20)
GUISetState() ; will display andialog box with 1 checkbox
;GUICtrlSetState($wr,$GUI_INDETERMINATE)
GUICtrlSetState($checkCN,$GUI_DISABLE)
GUICtrlSetState($wr,$GUI_DISABLE)
GUICtrlSetState($wr,$GUI_INDETERMINATE)
GUICtrlSetState($wr,$GUI_CHECKED)
If GUICtrlRead($wr)=$GUI_CHECKED Then MsgBox(0,"debug","禁用无效!")
; Run the GUI until the dialog is closed
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
WEnd
EndFunc ;==>Example 什么意思。。 If GUICtrlRead($wr)=$GUI_CHECKED Then MsgBox(0,"debug","禁用无效!")
为什么这句仍然能够执行,
前面以前把复选框变成灰色的了,还能执行,选 中后的操作,那不是没禁用吗 等待高手出现为什么变成灰色的禁用命令,会失效,仍然可以执行它的代码 还是没能解决,真不知道是怎么回事,禁用的复选框,还是执行代码 本帖最后由 netegg 于 2011-10-17 19:58 编辑
回复 5# zlmyongheng
判断前一句你不是设置为选中了吗
GUICtrlSetState($wr,$GUI_CHECKED)'
disable是指不响应点击操作,谁说不能通过代码更改了? 本帖最后由 zlmyongheng 于 2011-10-20 18:14 编辑
怎么禁用的复选框,再加上选 中的代码为什么测试它的值仍然为1,这种状态不利于执行后面的代码,因为在后面是根据它的值来判断执行代码的,如果禁用并选中值一样,感觉禁用的效果不是太好,有没有用户定义函数可以达到禁用后有一个特殊的值 回复 7# zlmyongheng GUICreate('')
$n = GUICtrlCreateCheckbox("checkbox 测试", 10, 10)
GUICtrlSetState(-1, 128 + 1)
GUISetState()
MsgBox(0, '状态', StringFormat("GUICtrlRead=%d\nGUICtrlGetState=%d", GUICtrlRead($n), GUICtrlGetState($n)))
GUICtrlSetState($n, 64 + 4)
MsgBox(0, '状态', StringFormat("GUICtrlRead=%d\nGUICtrlGetState=%d", GUICtrlRead($n), GUICtrlGetState($n)))
While 1
$msg = GUIGetMsg()
If $msg = -3 Then ExitLoop
WEnd
页:
[1]