Jump to content
Sign in to follow this  
nacerbaaziz

question about the GUICtrlCreateTab

Recommended Posts

Hi dears

I've got a question in creating tabs in autoit
Usually in other programs you can move between tabs by pressing ctrl + tab or ctrl + shift + tab

I tried to create a window  which have a multy  tab but when i press one of the shortcuts
it does not move between the tabs
Is there an option to enable or disable this
Greetings
this is the example i tryed

#include <GUIConstants.au3>
#include <MsgBoxConstants.au3>
#include <TabConstants.au3>
#include <ComboConstants.au3>
#include <WindowsConstants.au3>
#include <GuiComboBox.au3>
effectsSettings()
func effectsSettings()
local $echoCombo[6], $reverbCombo[5],  $CHORUSCombo[8], $flangerCombo[8], $paramEQCombo[4], $distortionCombo[6], $gargleCombo[3]
$EffWindow = GUICreate("efects settings", 400, 400, -1, -1, $WS_TABSTOP)
local $BtOK = GUICtrlCreateButton("ok", 5, 360, 50, 30, 0x01)
GUIStartGroup("")
local $BTCancel = GUICtrlCreateButton("cancel", 340, 360, 50, 30)
GUIStartGroup("")
local $effectTabs =     GUICtrlCreateTab(10, 10, 380, 70)
GUICtrlSetState(-1, $GUI_focus)
        GUICtrlCreateTabItem("echo")
GUICtrlCreateLabel("fWetDryMix", 50, 100, 100, 60)
$echoCombo[1] = GUICtrlCreateCombo("", 60, 110, 80, 40)
GUICtrlCreateLabel("fFeedback", 180, 100, 100, 60)
$echoCombo[2] = GUICtrlCreateCombo("", 190, 110, 80, 40)
    GUICtrlCreateLabel("fLeftDelay", 290, 100, 100, 60)
$echoCombo[3] = GUICtrlCreateCombo("", 300, 110, 80, 40)
    GUICtrlCreateLabel("fRightDelay", 50, 180, 100, 60)
$echoCombo[4] = GUICtrlCreateCombo("", 60, 190, 80, 40)
    GUICtrlCreateLabel("lPanDelay", 180, 180, 100, 60)
$echoCombo[5] = GUICtrlCreateCombo("", 190, 190, 80, 40)
        GUICtrlCreateTabItem("reverb")
GUICtrlCreateLabel("fInGain", 50, 100, 100, 60)
$ReverbCombo[1] = GUICtrlCreateCombo("", 60, 110, 80, 40)
    GUICtrlCreateLabel("fReverbMix", 180, 100, 100, 60)
$ReverbCombo[2] = GUICtrlCreateCombo("", 190, 110, 80, 40)
    GUICtrlCreateLabel("fReverbTime", 290, 100, 100, 60)
$ReverbCombo[3] = GUICtrlCreateCombo("", 300, 110, 80, 40)
    GUICtrlCreateLabel("fHighFreqRTRatio", 50, 180, 100, 60)
$ReverbCombo[4] = GUICtrlCreateCombo("", 60, 190, 80, 40)
    GUICtrlCreateTabItem("chorus")
GUICtrlCreateLabel("fWetDryMix", 50, 100, 100, 60)
$ChorusCombo[1] = GUICtrlCreateCombo("", 60, 110, 80, 40)
    GUICtrlCreateLabel("fDepth", 180, 100, 100, 60)
$ChorusCombo[2] = GUICtrlCreateCombo("", 190, 110, 80, 40)
    GUICtrlCreateLabel("fFeedback", 290, 100, 100, 60)
$ChorusCombo[3] = GUICtrlCreateCombo("", 300, 110, 80, 40)
    GUICtrlCreateLabel("fFrequency", 50, 180, 100, 60)
$ChorusCombo[4] = GUICtrlCreateCombo("", 60, 190, 80, 40)
    GUICtrlCreateLabel("lWaveform", 180, 180, 100, 60)
$ChorusCombo[5] = GUICtrlCreateCombo("", 190, 190, 80, 40)
    GUICtrlCreateLabel("fDelay", 290, 180, 100, 60)
$ChorusCombo[6] = GUICtrlCreateCombo("", 300, 190, 80, 40)
    GUICtrlCreateLabel("lPhase", 50, 260, 100, 60)
$ChorusCombo[7] = GUICtrlCreateCombo("", 60, 270, 80, 40)
        GUICtrlCreateTabItem("flanger")
GUICtrlCreateLabel("fWetDryMix", 50, 100, 100, 60)
$FlangerCombo[1] = GUICtrlCreateCombo("", 60, 110, 80, 40)
    GUICtrlCreateLabel("fDepth", 180, 100, 100, 60)
$FlangerCombo[2] = GUICtrlCreateCombo("", 190, 110, 80, 40)
    GUICtrlCreateLabel("fFeedback", 290, 100, 100, 60)
$FlangerCombo[3] = GUICtrlCreateCombo("", 300, 110, 80, 40)
    GUICtrlCreateLabel("fFrequency", 50, 180, 100, 60)
$FlangerCombo[4] = GUICtrlCreateCombo("", 60, 190, 80, 40)
    GUICtrlCreateLabel("lWaveform", 180, 180, 100, 60)
$FlangerCombo[5] = GUICtrlCreateCombo("", 190, 190, 80, 40)
    GUICtrlCreateLabel("fDelay", 290, 180, 100, 60)
$FlangerCombo[6] = GUICtrlCreateCombo("", 300, 190, 80, 40)
    GUICtrlCreateLabel("lPhase", 50, 260, 100, 60)
$FlangerCombo[7] = GUICtrlCreateCombo("", 60, 270, 80, 40)
        GUICtrlCreateTabItem("paramatric eq")
GUICtrlCreateLabel("fCenter", 50, 100, 100, 60)
$parameqCombo[1] = GUICtrlCreateCombo("", 60, 110, 80, 40)
    GUICtrlCreateLabel("fBandwidth", 180, 100, 100, 60)
$ParamEqCombo[2] = GUICtrlCreateCombo("", 190, 110, 80, 40)
    GUICtrlCreateLabel("fGain", 290, 100, 100, 60)
$parameqCombo[3] = GUICtrlCreateCombo("", 300, 110, 80, 40)
        GUICtrlCreateTabItem("distortion")
GUICtrlCreateLabel("fGain", 50, 100, 100, 60)
$distortionCombo[1] = GUICtrlCreateCombo("", 60, 110, 80, 40)
    GUICtrlCreateLabel("fEdge", 180, 100, 100, 60)
$distortionCombo[2] = GUICtrlCreateCombo("", 190, 110, 80, 40)
    GUICtrlCreateLabel("fPostEQCenterFrequency", 290, 100, 100, 60)
$distortionCombo[3] = GUICtrlCreateCombo("", 300, 110, 80, 40)
    GUICtrlCreateLabel("fFrequency", 50, 180, 100, 60)
$distortionCombo[4] = GUICtrlCreateCombo("", 60, 190, 80, 40)
    GUICtrlCreateLabel("fPostEQBandwidth", 180, 180, 100, 60)
$distortionCombo[5] = GUICtrlCreateCombo("", 190, 190, 80, 40)
        GUICtrlCreateTabItem("gargle")
GUICtrlCreateLabel("dwRateHz", 50, 100, 100, 60)
$gargleCombo[1] = GUICtrlCreateCombo("", 60, 110, 80, 40)
    GUICtrlCreateLabel("dwWaveShape", 180, 100, 100, 60)
$gargleCombo[2] = GUICtrlCreateCombo("", 190, 110, 80, 40)
GUISetState(@sw_show, $EffWindow)
While 1
Switch GUIGetMSG()
case $GUI_Event_close, $BTCancel
exit
EndSwitch
Wend
return ""
endFunc

Share this post


Link to post
Share on other sites

Maybe this line of the help file for GUICtrlCreateTabItem explains waht you missed:

Quote

It is important to close the tab structure by creating a final tabitem control with a null text - GUICtrlCreateTabItem("").

 


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2020-09-05 - Version 1.5.1.1) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2020-06-27 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (NEW 2020-06-27 - Version 1.3.2.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
Task Scheduler (2019-12-03 - Version 1.5.1.0) - Download - General Help & Support - Wiki

Tutorials:
ADO - Wiki, WebDriver - Wiki

 

Share this post


Link to post
Share on other sites

@TheXman
I know this my dear

But the Feature wich i talking about it
it Works anywhere in the window

So for that I liked to ask about this Feature if it is exist  in autoit or no
I hope with all my heart that it exists because ,it is a very sweet feature

Greetings to all

Share this post


Link to post
Share on other sites

nacerbaaziz ,

#include <GUIConstants.au3>
#include <WinAPISys.au3>
#include <GuiTab.au3>

Global $hGui, $idUser

HotKeySet("^{1}", "_SwitchMode1")

HotKeySet("^{2}", "_SwitchMode2")
HotKeySet("^+{2}", "_SwitchMode2")

Example()

Func Example()
    $hGui = GUICreate("My GUI Tab", 350, 150) ; will create a dialog box that when displayed is centered

    GUISetBkColor(0x00E0FFFF)
    GUISetFont(9, 300)

    Local $idTab = GUICtrlCreateTab(10, 10, 300, 100)

    GUICtrlCreateTabItem("tab0")
    GUICtrlCreateLabel("label0", 30, 80, 50, 20)
    GUICtrlCreateButton("OK0", 20, 50, 50, 20)
    GUICtrlCreateInput("default", 80, 50, 70, 20)

    GUICtrlCreateTabItem("tab----1")
    GUICtrlCreateLabel("label1", 30, 80, 50, 20)
    GUICtrlCreateCombo("", 20, 50, 60, 120)
    GUICtrlSetData(-1, "Trids|CyberSlug|Larry|Jon|Tylo|guinness", "Jon") ; default Jon
    GUICtrlCreateButton("OK1", 80, 50, 50, 20)

    GUICtrlCreateTabItem("tab2")
    GUICtrlCreateLabel("label2", 30, 80, 50, 20)
    GUICtrlCreateButton("OK2", 140, 50, 50)

    GUICtrlCreateTabItem("tab3")
    GUICtrlCreateLabel("label3", 30, 80, 50, 20)
    GUICtrlCreateButton("OK3", 140, 50, 50)

    GUICtrlCreateTabItem("tab4")
    GUICtrlCreateLabel("label4", 30, 80, 50, 20)
    GUICtrlCreateButton("OK4", 140, 50, 50)

    GUICtrlCreateTabItem("") ; end tabitem definition

    GUICtrlCreateLabel("Click on tab and see the title", 20, 130, 250, 20)

    Local $iCount = _GUICtrlTab_GetItemCount($idTab) - 1, $bShift, $bCtrl, $imode = 0
    $idUser = GUICtrlCreateDummy()
    GUICtrlSetData($idUser, 0)

    Local $aAccelKeys[2][2] = [["^{TAB}", $idUser], ["^+{TAB}", $idUser]]
    GUISetAccelerators($aAccelKeys)

    GUISetState(@SW_SHOW)

    Local $idMsg
    ; Loop until the user exits.
    While 1
        $idMsg = GUIGetMsg()
        If $idMsg = $GUI_EVENT_CLOSE Then ExitLoop
        If $idMsg = $idTab Then
            ; display the clicked tab
            WinSetTitle("My GUI Tab", "", "My GUI Tab" & GUICtrlRead($idTab))
        EndIf
        If $idMsg = $idUser Then
            $bShift = (_WinAPI_GetAsyncKeyState(0x10) < 0 ? 1 : 0)
            $bCtrl = (_WinAPI_GetAsyncKeyState(0x11) < 0 ? 1 : 0)
            $iTab = GUICtrlRead($idTab)
            Switch (GUICtrlRead($idUser) <> 0 ? GUICtrlRead($idUser) : 0)
                Case 0                                  ; switch to next tab  +-
                     ControlFocus($hGui, "", "SysTabControl321")
                    If $iTab = $iCount Or $iTab = 0 Then
                        If Not $bShift And $iTab = 0 Then
                            _GUICtrlTab_ActivateTab($idTab, 1)
                        ElseIf Not $bShift Then
                            _GUICtrlTab_ActivateTab($idTab, ($iTab = 0 ? $idTab : 0))
                        Else
                            _GUICtrlTab_ActivateTab($idTab, ($iTab = $iCount ? $iCount - 1 : $iCount))
                        EndIf
                    Else
                        ControlSend($hGui, "", $idTab, _GUICtrlTab_ActivateTab($idTab, $iTab))
                    EndIf

                Case 1                                  ;send out a raw key combo to trigger screen reader
                    GUISetAccelerators("")
                    GUICtrlSetData($idUser, 0)
                    MsgBox(0, '', "Start screen Reader - hot key")
                    $bCtrl = ($bCtrl = 0 ? "" : "^")
                    $bShift = ($bShift = 0 ? "" : "+")

;~                      Send($bShift & "{b}")            ;in example can be anything else other than "{TAB}, omit $bCtrl or $bShift depending on what the outer program needs to recall"

                    Send($bCtrl & $bShift & "{TAB}")
                    Send("{CTRLUP}")
                    Send("{SHIFTUP}")
                    GUISetAccelerators($aAccelKeys)
                Case 2                                  ;HotKeySet to attach functions
                    GUICtrlSetData($idUser, 0)
                    If $bShift And $bCtrl Then ;"^+{*}"
                        _Test12()
                    ElseIf $bCtrl Then ;"^{*}"
                        _Test1()
                    EndIf
            EndSwitch
        EndIf
        Sleep(10)
    WEnd
EndFunc   ;==>Example

Func _SwitchMode1()                         ;send out a raw key combo to start screen reader (see : Case 1 )
    WinActivate($hGui, "")
    GUICtrlSendToDummy($idUser, 1)
EndFunc   ;==>_SwitchMode1

Func _SwitchMode2()                         ;HotKeySet to attach functions
    WinActivate($hGui, "")
    GUICtrlSendToDummy($idUser, 2)
EndFunc   ;==>_SwitchMode2

Func _Test1()
    MsgBox(262144, "Test 2", "Started function activated with " & @CRLF & "Hotkey : Ctrl + ")
EndFunc   ;==>_Test1

Func _Test12()
    MsgBox(262144, 'Test 2', "Started function activated with " & @CRLF & "Hotkey :  Ctrl + Shift")
EndFunc   ;==>_Test12

 

Edited by Deye
FInal edit

Share this post


Link to post
Share on other sites

Unfortunately GUISetAccelerators do not work here because ctrl + tab and ctrl + shift + tab
Is a regular shortcut for the screen reader and its task is to move between the tabs
Thus, these two shortcut keys  can not be assigned to specific work
Greetings

Share this post


Link to post
Share on other sites

@Deye
Thanks dear for your interaction with my subject.
Brother, in order to fully understand my point, i hope that you try to  open any window created using any other language but Provided  that it contain tabs.
For example
System Configuration Tool
I mean (msconfig.exe)
Then select any of the items by using the TAB key .
after that, please try pressing the keybord shortcut CTRL + TAB and the shortcut CTRL + SHIFT + TAB
and see the result
with all my regards and respect to you dear

Share this post


Link to post
Share on other sites

Don't know if this helps but why not something like:

#include <GuiTab.au3>

Global $effectTabs ;~ Remove the Local declaration in effectsSettings function

HotKeySet("^{Tab}", "_TabRight")
HotKeySet("^+{Tab}", "_TabRight")

;~ Rest of your code here..

Func _TabRight()
    Local $iTabItems = _GUICtrlTab_GetItemCount ($effectTabs) - 1
    Local $iTabItem = _GUICtrlTab_GetCurSel($effectTabs)
    If $iTabItem = $iTabItems Then _GUICtrlTab_SetCurSel($effectTabs, 0) ;~ If its the last tab, go to the first tab
    _GUICtrlTab_SetCurSel($effectTabs, $iTabItem + 1)
EndFunc

 

Share this post


Link to post
Share on other sites

nacerbaaziz,

I believe you can work it out to play nicely with your screen reader if you will understand the options of what can be done with the example i have edited above
Particularly follow up  HotKeySet "^{1}"  ..

Deye

Share this post


Link to post
Share on other sites

acerbaaziz,

I just tried out screen reader i noticed that it will be hard to follow some of the lines i have posted in my example
Hence, I incorporated the tab switching functionality into your example so you can first check what works ..

#include <GUIConstants.au3>
#include <MsgBoxConstants.au3>
#include <TabConstants.au3>
#include <ComboConstants.au3>
#include <WindowsConstants.au3>
#include <GuiComboBox.au3>
#include <WinAPISys.au3>
#include <GuiTab.au3>

effectsSettings()
func effectsSettings()
local $echoCombo[6], $reverbCombo[5],  $CHORUSCombo[8], $flangerCombo[8], $paramEQCombo[4], $distortionCombo[6], $gargleCombo[3]
$EffWindow = GUICreate("efects settings", 400, 400, -1, -1, $WS_TABSTOP)
local $BtOK = GUICtrlCreateButton("ok", 5, 360, 50, 30, 0x01)
GUIStartGroup("")
local $BTCancel = GUICtrlCreateButton("cancel", 340, 360, 50, 30)
GUIStartGroup("")
local $effectTabs =     GUICtrlCreateTab(10, 10, 380, 70)
GUICtrlSetState(-1, $GUI_focus)
     GUICtrlCreateTabItem("echo")
GUICtrlCreateLabel("fWetDryMix", 50, 100, 100, 60)
$echoCombo[1] = GUICtrlCreateCombo("", 60, 110, 80, 40)
GUICtrlCreateLabel("fFeedback", 180, 100, 100, 60)
$echoCombo[2] = GUICtrlCreateCombo("", 190, 110, 80, 40)
    GUICtrlCreateLabel("fLeftDelay", 290, 100, 100, 60)
$echoCombo[3] = GUICtrlCreateCombo("", 300, 110, 80, 40)
    GUICtrlCreateLabel("fRightDelay", 50, 180, 100, 60)
$echoCombo[4] = GUICtrlCreateCombo("", 60, 190, 80, 40)
    GUICtrlCreateLabel("lPanDelay", 180, 180, 100, 60)
$echoCombo[5] = GUICtrlCreateCombo("", 190, 190, 80, 40)
    GUICtrlCreateTabItem("reverb")
GUICtrlCreateLabel("fInGain", 50, 100, 100, 60)
$ReverbCombo[1] = GUICtrlCreateCombo("", 60, 110, 80, 40)
    GUICtrlCreateLabel("fReverbMix", 180, 100, 100, 60)
$ReverbCombo[2] = GUICtrlCreateCombo("", 190, 110, 80, 40)
    GUICtrlCreateLabel("fReverbTime", 290, 100, 100, 60)
$ReverbCombo[3] = GUICtrlCreateCombo("", 300, 110, 80, 40)
    GUICtrlCreateLabel("fHighFreqRTRatio", 50, 180, 100, 60)
$ReverbCombo[4] = GUICtrlCreateCombo("", 60, 190, 80, 40)
    GUICtrlCreateTabItem("chorus")
GUICtrlCreateLabel("fWetDryMix", 50, 100, 100, 60)
$ChorusCombo[1] = GUICtrlCreateCombo("", 60, 110, 80, 40)
    GUICtrlCreateLabel("fDepth", 180, 100, 100, 60)
$ChorusCombo[2] = GUICtrlCreateCombo("", 190, 110, 80, 40)
    GUICtrlCreateLabel("fFeedback", 290, 100, 100, 60)
$ChorusCombo[3] = GUICtrlCreateCombo("", 300, 110, 80, 40)
    GUICtrlCreateLabel("fFrequency", 50, 180, 100, 60)
$ChorusCombo[4] = GUICtrlCreateCombo("", 60, 190, 80, 40)
    GUICtrlCreateLabel("lWaveform", 180, 180, 100, 60)
$ChorusCombo[5] = GUICtrlCreateCombo("", 190, 190, 80, 40)
    GUICtrlCreateLabel("fDelay", 290, 180, 100, 60)
$ChorusCombo[6] = GUICtrlCreateCombo("", 300, 190, 80, 40)
    GUICtrlCreateLabel("lPhase", 50, 260, 100, 60)
$ChorusCombo[7] = GUICtrlCreateCombo("", 60, 270, 80, 40)
    GUICtrlCreateTabItem("flanger")
GUICtrlCreateLabel("fWetDryMix", 50, 100, 100, 60)
$FlangerCombo[1] = GUICtrlCreateCombo("", 60, 110, 80, 40)
    GUICtrlCreateLabel("fDepth", 180, 100, 100, 60)
$FlangerCombo[2] = GUICtrlCreateCombo("", 190, 110, 80, 40)
    GUICtrlCreateLabel("fFeedback", 290, 100, 100, 60)
$FlangerCombo[3] = GUICtrlCreateCombo("", 300, 110, 80, 40)
    GUICtrlCreateLabel("fFrequency", 50, 180, 100, 60)
$FlangerCombo[4] = GUICtrlCreateCombo("", 60, 190, 80, 40)
    GUICtrlCreateLabel("lWaveform", 180, 180, 100, 60)
$FlangerCombo[5] = GUICtrlCreateCombo("", 190, 190, 80, 40)
    GUICtrlCreateLabel("fDelay", 290, 180, 100, 60)
$FlangerCombo[6] = GUICtrlCreateCombo("", 300, 190, 80, 40)
    GUICtrlCreateLabel("lPhase", 50, 260, 100, 60)
$FlangerCombo[7] = GUICtrlCreateCombo("", 60, 270, 80, 40)
    GUICtrlCreateTabItem("paramatric eq")
GUICtrlCreateLabel("fCenter", 50, 100, 100, 60)
$parameqCombo[1] = GUICtrlCreateCombo("", 60, 110, 80, 40)
    GUICtrlCreateLabel("fBandwidth", 180, 100, 100, 60)
$ParamEqCombo[2] = GUICtrlCreateCombo("", 190, 110, 80, 40)
    GUICtrlCreateLabel("fGain", 290, 100, 100, 60)
$parameqCombo[3] = GUICtrlCreateCombo("", 300, 110, 80, 40)
    GUICtrlCreateTabItem("distortion")
GUICtrlCreateLabel("fGain", 50, 100, 100, 60)
$distortionCombo[1] = GUICtrlCreateCombo("", 60, 110, 80, 40)
    GUICtrlCreateLabel("fEdge", 180, 100, 100, 60)
$distortionCombo[2] = GUICtrlCreateCombo("", 190, 110, 80, 40)
    GUICtrlCreateLabel("fPostEQCenterFrequency", 290, 100, 100, 60)
$distortionCombo[3] = GUICtrlCreateCombo("", 300, 110, 80, 40)
    GUICtrlCreateLabel("fFrequency", 50, 180, 100, 60)
$distortionCombo[4] = GUICtrlCreateCombo("", 60, 190, 80, 40)
    GUICtrlCreateLabel("fPostEQBandwidth", 180, 180, 100, 60)
$distortionCombo[5] = GUICtrlCreateCombo("", 190, 190, 80, 40)
    GUICtrlCreateTabItem("gargle")
    GUICtrlCreateTabItem("") ; end tabitem definition
GUICtrlCreateLabel("dwRateHz", 50, 100, 100, 60)
$gargleCombo[1] = GUICtrlCreateCombo("", 60, 110, 80, 40)
    GUICtrlCreateLabel("dwWaveShape", 180, 100, 100, 60)
$gargleCombo[2] = GUICtrlCreateCombo("", 190, 110, 80, 40)
Local $iCount = _GUICtrlTab_GetItemCount($effectTabs) - 1, $bShift, $bCtrl
$idUser = GUICtrlCreateDummy()
GUICtrlSetData(-1, 0)
Local $aAccelKeys[2][2] = [["^{TAB}", $idUser], ["^+{TAB}", $idUser]]
GUISetAccelerators($aAccelKeys)
GUISetState(@sw_show, $EffWindow)
While 1
Switch GUIGetMSG()
case $GUI_Event_close, $BTCancel
exit
; the function that switches between tabs
case $idUser
$bShift = (_WinAPI_GetAsyncKeyState(0x10) < 0 ? 1 : 0)
$iTab = GUICtrlRead($effectTabs)
ControlFocus($EffWindow, "", "SysTabControl321")
If $iTab = $iCount Or $iTab = 0 Then
If Not $bShift And $iTab = 0 Then
_GUICtrlTab_ActivateTab($effectTabs, 1)
ElseIf Not $bShift Then
_GUICtrlTab_ActivateTab($effectTabs, ($iTab = 0 ? $iTab : 0))
Else
_GUICtrlTab_ActivateTab($effectTabs, ($iTab = $iCount ? $iCount - 1 : $iCount))
EndIf
Else
ControlSend($EffWindow, "", $effectTabs,  $iTab)
EndIf
EndSwitch
Wend
return ""
endFunc

 

Edited by Deye

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By learner123
      Hi All,
       
      I am new to this AUTO IT and I have created a script that will open an app,enter pin and copy the code generated to clipboard. My java code call this autoIT script and use the copied generated code from clipboard.
      This works fine when server  window is on focus. My server is an windows server. 
      But when I minimize or disconnect the server, the script opens the app.exe but doesn't copy any value to clipboard.  
      Can anyone help me on this 😐
       
      Run("C:\Program Files (x86)\RSA SecurID Software Token\SecurID.exe")
      Local $hWnd=WinWait("abc - RSA SecurID Token") ; waits until the window is the active window
      $hWin = WinGetHandle("abc - RSA SecurID Token");
      ControlSend($hWnd,"","","1111") ; simulates pressing the Home key
      ControlSend($hWnd,"","","{ENTER}");
      ControlSend($hWnd,"","","^c");
      Sleep(1000) ;
      ControlSend($hWnd,"","","^c");
       
    • By learner123
      Hi All,
      So I have created a small autoIT script to enter pin into a RSA token(app which generate new code every 30 second), and copy the generated code.
      I have a java application which requires this code so every time my java-code requires this RSA code, it runs the autoIT script and the copied generated code is then used in my java application. 
      I have deployed this code on a windows server and it works fine when I am logged in and the window is on focus, But as soon as I schedule task and disconnect the server (not logged out only disconnect), or even minimize the server window, the autoIT scripts fails and its not able to copy the value.
       
      Please find below the code for AUTOIT.
       
      WinActivate("rsa - RSA SecurID Token") ; activates the window that has old in the tilte bar
      WinWaitActive("rsa - RSA SecurID Token") ; waits until the window is the active window
      Send("1111") ; simulates pressing the Home key, enters password to get the code
      Send("{ENTER}") ; simulates pressing the Enter key
      Sleep(1000) ;
      Send("^c") ; simulates pressing the CTRL+c keys (copy)
       
      Also I saw some post regarding that WINACTIVE only works when window is active. But my below AUTO IT script to handle windows pop up  works perfectly fine when the server is disconnected. 
       
      Opt("WinTitleMatchMode", 1)
      WinWait("https://url","","10")
      WinWaitActive("https://url","","10")
      Sleep(2000)
      Send("userid")
      Sleep(1000)
      Send("{TAB}")
      Sleep(1000)
      Send("passwrd")
      Send("{TAB}")
      Sleep(500)
      Send("{ENTER}")
       
       
    • By JuanFelipe
      Hello gyus, I try to make a code to login in a web page in my job, buy i can’t understand why my form is blocked, this is my code: 
      #include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <StringConstants.au3> #include <WindowsConstants.au3> #include <WinAPIFiles.au3> #include <FileConstants.au3> #include <File.au3> #include <Array.au3> #include <IE.au3> #include <Excel.au3> #include <GuiEdit.au3> #include <GuiStatusBar.au3> #include <DateTimeConstants.au3> #include <Date.au3> #Region ### START Koda GUI section ### Form=C:\noentry\koda_1.7.3.0\Forms\spoa.kxf $Form1 = GUICreate("Eva y Vehículos", 1200, 1000, 10, 10) $prueba = GUICtrlCreateButton("Prueba",10,990,50,20) ;VARIABLES ========================================================================================== $psi = "https://psi.policia.gov.co/PSI/Login.aspx?ReturnUrl=%2fPSI#no-back-button" $chequeVehiculos = "https://psi.policia.gov.co/PSI/frm_lista_chk.aspx" $evaluacionEva = "https://psi.policia.gov.co/PSI/eva_frmver.aspx" $oIE = ObjCreate("Shell.Explorer.2") $GUIActiveX = GUICtrlCreateObj ($oIE, 10, 10, 1180, 980) ;GUICtrlSetState(-1, $GUI_DISABLE) GUISetState(@SW_SHOW) $oIE.navigate($psi) ;_IELoadWait($oIE) _InicioSesion() #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $prueba _InicioSesion() EndSwitch WEnd Func _InicioSesion() Local $username = _IEGetObjByName($oIE, "txtUsuario") Local $pass = _IEGetObjByName($oIE, "txtClave") Local $logina = _IEGetObjByName($oIE, "btnIngresar") $username.value="example" $pass.value="examplepass" _IEAction($logina, 'click') _IELoadWait($oIE) MsgBox(16,"","") EndFunc  
    • By shelly
      Here is the below code for handling pop-up when window is  inactive ..but I don't know how to change sleep and when i run this script it runs sometimes and sometimes it stops .
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{SPACE}")
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{DOWN}")
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{ENTER}")
      --- these 3 lines never worked while TAB lines works sometimes but not in accurate way
      I am new too AutoIt .. help me out why this script behaves in strange way
      ControlFocus("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1")
      Sleep(3000)
      ControlSend("Policy Decisions -- Webpage Dialog", "", "Internet Explorer_Server1","1")
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{TAB}")
      ControlSend("Policy Decisions -- Webpage Dialog", "", "Internet Explorer_Server1","the request is send")
      Sleep(3000)
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{TAB}")
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{TAB}")
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{TAB}")
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{TAB}")
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{TAB}")
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{TAB}")
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{TAB}")
      Sleep(3000)
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{TAB}")
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{TAB}")
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{TAB}")
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{TAB}")
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{TAB}")
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{TAB}")
      Sleep(3000)
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{TAB}")
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{TAB}")
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{SPACE}")
      Sleep(3000)
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{TAB}")
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{TAB}")
      Sleep(3000)
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{TAB}")
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{TAB}")
      Sleep(3000)
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{TAB}")
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{DOWN}")
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{TAB}")
      Sleep(3000)
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{TAB}")
      ControlSend("Policy Decisions -- Webpage Dialog","","Internet Explorer_Server1","{ENTER}")
       
×
×
  • Create New...