Jump to content
nacerbaaziz

question about the GUICtrlCreateTab

Recommended Posts

nacerbaaziz

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
water

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 2018-06-01 - Version 1.4.9.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-01-27 - Version 1.3.3.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites
nacerbaaziz

The same problem dear

Share this post


Link to post
Share on other sites
TheXman
Posted (edited)

@nacerbaaziz

When the tab itself is highlighted, the left and right arrow keys allow you to move between tabs.

Edited by TheXman

Whoever said that there's no such thing as a dumb question, probably asked a lot of DUMB questions.  Dumb questions are ones that you can easily find the answer to on your own.

Share this post


Link to post
Share on other sites
nacerbaaziz

@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
Deye
Posted (edited)

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
nacerbaaziz

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
Posted (edited)

see above

 

Edited by Deye

Share this post


Link to post
Share on other sites
Deye
Posted (edited)

try my last edit in my posts above

Deye

Edited by Deye

Share this post


Link to post
Share on other sites
nacerbaaziz

@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
Subz

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
Deye

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
Deye
Posted (edited)

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

  • Similar Content

    • Pagi
      By Pagi
       
      <a href="index.php=4143b27b41db0a40c499202865c3e24d" class="menuitem " target="\_self"> "Menu Item 1" </a>
      Can you tell me if it´s possible to click this menu button? If yes, how? Cause I have no idea, I think i should use _IETagNameGetCollection
    • mar3011
      By mar3011
      hello, I want to set in the inputbox field random key from the keyboard to which the function will be assigned, for example F4 function start notepad ALT + A function start notepad for one function. Thank you for any help.  
    • JuanFelipe
      By JuanFelipe
      Cambiar a español Hello friends, I need help with a problem I have, I want to know if there is any way to update a GUI already running, that is I have a GUI of a certain size and with a button I would like to enlarge it:
      example: $ form1 = GUICreate ("", 200,100,0,0)   When you press the button, the gui increases its size, and actuates the new size.
    • BogdanNicolescu
      By BogdanNicolescu
      While 1 / / / A whole bunch of codes found in help and here: https://www.autoitscript.com/autoit3/docs/ / / / WEnd OR:

       
      HotKeySet("{ESC}", "Terminate") While 1 MouseClick("Right",674,422) MouseClick("Left",673,447) Sleep(2000) / / / A whole bunch of codes found in help and here: https://www.autoitscript.com/autoit3/docs/ / / / MouseClick("Left",675,339) SLeep(3000) WEnd Func Terminate()     Exit 0 EndFunc  
      Sorry if i should't let this here to be found by newbies like me -.-'
    • Gowrisankar
      By Gowrisankar
      Dear members, 
      I am working on a project where, emails from outlook are to be read and moved to various folders within the mailbox, based on the content of the emails.
      I used the below code for moving mails. It works fine when I run it against individual mail ids. But when I run it on Shared mailbox, the mails are not moved to respective folders.
      _OL_ItemMove($oOutlook, $sEntryId, Default, $sDestinationFolder) The value of $sEntryId is saved in an excel report initially. The current process reads the $sEntryId from the excel and passes it to "_OL_ItemMove" statement.
      Requesting the guidance of the forum members in this issue.
×