我想迭代复选框以获取每个标题文本。我有这个代码,但它不起作用。有人能告诉我什么错了吗?
这是因为我在For
循环中稍后使用$i
来迭代其他内容吗?但它甚至没有运行Send()
命令。 AutoIt会自动增加$i
变量吗?
For $i = 1 to 64
If GUICtrlRead("$Checkbox" & $i,0) = $GUI_CHECKED Then
Local $checkboxtext = GUICtrlRead($Checkbox[$i], 1)
Local $checkboxtextsplit = StringSplit( $checkboxtext, "/")
$instanz = $checkboxtextsplit[1]
$favorite = "F" & $checkboxtextsplit[2]
$position = $checkboxtextsplit[3]
;Select actual Instance from Checkbox Name.
If $instanz = "1" Then
WinActivate($handle1)
Else
WinActivate($handle2)
EndIf
Send("{" & $favorite & "}")
;...
EndIf
Next
答案 0 :(得分:0)
我以错误的方式提供GUICtrlRead()
its parameters。而不是:
If GUICtrlRead("$Checkbox" & $i, 0) = $GUI_CHECKED Then
Local $checkboxtext = GUICtrlRead($Checkbox[$i], 1)
应该是:
If GUICtrlRead($Checkbox & $i, 0) = $GUI_CHECKED Then
Local $checkboxtext = GUICtrlRead($Checkbox & $i, 1)
要检索复选框已选中/未选中状态,请使用:
If GUICtrlRead($Checkbox & $i, 0) = $GUI_CHECKED Then ...
要阅读复选框文本,请使用:
$checkboxtext = GUICtrlRead($Checkbox & $i, 1)