Code: Select all
SetTitleMatchMode, 2
/*
Try to get tabs dynamically if Window is active
If it fails, then set static array
*/
if (!AOKTS_tabNames)
{
If WinActive(AOKTS_app_1)
AOKTS_tabNames := ControlGetTabs("SysTabControl321", "A")
if (!AOKTS_tabNames)
If WinActive(AOKTS_app_2)
AOKTS_tabNames := ControlGetTabs("SysTabControl321", "A")
if (!AOKTS_tabNames)
If WinActive, AOK Trigger Studio
AOKTS_tabNames := ControlGetTabs("SysTabControl321", "A")
if (!AOKTS_tabNames)
AOKTS_tabNames:=["Info/Messages", "Players", "Global Victory", "Disables", "Map/Terrain", "Units", "Triggers"]
}
getTabName(id){
global
if (!IsObject( AOKTS_tabNames ))
msgBox, Error: AOKTS_tabNames
return AOKTS_tabNames[id]
}
checkTabName(tabName){
global
if (!IsObject( AOKTS_tabNames ))
msgBox, Error: AOKTS_tabNames
ControlGet, TabNum, Tab,, SysTabControl321, A
return tabName == AOKTS_tabNames[TabNum] ? 1 : 0
}
selectTab(tabName){
global
if (!IsObject( AOKTS_tabNames ))
msgBox, Error: AOKTS_tabNames
for tabNum,name in AOKTS_tabNames
if (name==tabName)
break
SendMessage, 0x1330, %tabNum%,, SysTabControl321, A
msgBox,%tabNum%
SendMessage, 0x130C, %tabNum%,, SysTabControl321, A
msgBox,%tabNum%
}
I have selected "Triggers" (tabNum 7). The msgbox displays 6, and 6 is correct, but the tabNum 6 was not selected. It stays on the Triggers tab.
Code: Select all
if (!checkTabName("Units"))
selectTab("Units")