2015-06-08 68 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", ""))