我在自动化的应用程序中有一个选项卡控件,但不能按照我的意愿在选项卡之间移动。
我查看了ControlCommand的文档,其中包含systabcontrol32
的三个命令。 “CurrentTab”,“TabRight”和“TabLeft”。
我有一个水平显示标签的标签控件,我可以使用TabRight / TabLeft进行相应的导航,但是在标签垂直的情况下我不能这样做。 “TabRight”和“TabLeft”命令不执行任何操作。但是,我尝试设置焦点并使用向上/向下箭头键,但是很难维护。
我仍然可以在选项卡控件上使用“CurrentTab”,并获得正确的索引,那么有没有办法使用ControlCommand来选择特定的选项卡索引?
我还阅读了this thread,但 GUICtrlTab 函数都没有为我工作。我该怎么办?
答案 0 :(得分:0)
我无法找到可以执行此操作的功能,但我可以通过使用箭头键完成此操作。
一旦我确定了我使用ControlCommand("window", "text", "tabControl", "CurrentTab", "")
的标签并将其与我需要访问的标签的索引进行比较,我会相应地使用向上/向下箭头键。
我为我的标签的索引设置了常量,并使用索引的差异来计算我需要向上/向下移动的次数。
代码示例如下:
$currentTab = ControlCommand($window, $text, $tabControl, "CurrentTab", "")
$tabDifference = $currentTab - $endTabIndex
ControlFocus($window, $text, $tabControl)
If $tabDifference > 0 Then
For $i = 1 To $tabDifference Step 1
Send("{UP}")
Next
ElseIf $tabDifference < 0 Then
For $i = -1 To $tabDifference Step -1
Send("{DOWN}")
Next
EndIf
如果tabDifference为0,那么我们在正确的选项卡上。虽然不是必需的,但我建议添加一个断言声明以确保您已在右侧标签上结束:
_Assert($endTabIndex = ControlCommand($window, $text, $tabControl, "CurrentTab", ""))