itzyx 发表于 2020-9-25 12:36:22

已解决 判断控件是否被勾选 出现错误

本帖最后由 itzyx 于 2020-9-25 14:56 编辑

如图所示,我想判断两个Button控件 是否被勾选 代码如下:$READ=ControlCommand ( "相机参数设置", "", "Button10", "IsChecked") ;检测 Button10状态,是否被勾选,;返回按钮选择状态. 1 为选中; 0 为未选中
$READ1=ControlCommand ( "相机参数设置", "", "Button11", "IsChecked");检测 Button11状态,是否被勾选.

If $READ=0 Then   ;如果 0 未选中
ControlClick("相机参数设置", "", "Button10","",1);鼠标点击控件,使按钮被选中
MsgBox(0,"","并行曝光已勾选",1)
Elseif $READ=1 Then
sleep(500)
EndIf

If $READ1=0 Then   
ControlClick("相机参数设置", "", "Button11","",1)
MsgBox(0,"","使用快门线已勾选",1)
Elseif $READ1=1 Then
sleep(500)
EndIf但是有个BUG,两个都没勾选的话,可以实现ControlClick 的勾选功能;
但如果只勾选了其中一个,另一个不会被勾选上, 这是什么情况,希望大佬们能够帮忙看一下。万分感谢!

afan 发表于 2020-9-25 12:50:26

你这还要判断做什么
ControlCommand("相机参数设置", "", "Button10", "Check")
ControlCommand("相机参数设置", "", "Button11", "Check")

itzyx 发表于 2020-9-25 12:58:49

afan 发表于 2020-9-25 12:50
你这还要判断做什么

额,为啥也是一样的情况,时灵时不灵的。。。。

afan 发表于 2020-9-25 13:12:27

前面加一句 WinActivate("相机参数设置", "")
WinActivate("相机参数设置", "")
ControlCommand("相机参数设置", "", "Button10", "Check")
ControlCommand("相机参数设置", "", "Button11", "Check")

itzyx 发表于 2020-9-25 13:44:41

afan 发表于 2020-9-25 13:12
前面加一句 WinActivate("相机参数设置", "")

可以了,我当时用鼠标手动点击的,没成功,还以为不需要加激活窗口的函数;
A大,能追问个问题吗?控件类别 后面的接口名一直变化,有什么比较好的方法,捕获变化的控件吗? 因为是可移动的窗口,坐标也不是固定的,接口名有的时候是 1,有的时候是10,经常代码失效,非常头疼。。。

afan 发表于 2020-9-25 14:03:51

对这类自动化操作没兴趣,你这种情况更没遇到过。你可以找找特征,一般控件都有独有的固定属性。如果有 NAME 的话也可以试试

itzyx 发表于 2020-9-25 14:10:41

afan 发表于 2020-9-25 14:03
对这类自动化操作没兴趣,你这种情况更没遇到过。你可以找找特征,一般控件都有独有的固定属性。如果有 NAM ...

好的,谢谢 A大
页: [1]
查看完整版本: 已解决 判断控件是否被勾选 出现错误