2015-06-08 42 views
0

我在自动化的应用程序中有一个选项卡控件,但无法在选项卡之间移动,因为我愿意。如何使用AutoIt导航垂直选项卡控件

我特地到文档ControlCommand其中有一个systabcontrol32三个命令。 “CurrentTab”,“TabRight”和“TabLeft”。

我有一个横向显示的选项卡的标签控制,我能够使用TabRight/TabLeft相应导航,但我不能在一个情况下的标签是垂直做到这一点。 “TabRight”和“TabLeft”命令不会执行任何操作。不过,我已尝试设置焦点并使用上/下箭头键,但维护起来非常困难。

我仍然可以使用“CurrentTab”选项卡控件,并得到适当的指数,所以是有办法使用ControlCommand选择特定的标签索引的方法吗?

我也读过this thread,但没有GUICtrlTab函数也适用于我。我能做什么?

回答

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", ""))