Rfsvieira Posted December 7, 2015 Posted December 7, 2015 Hello, i have read the wiki for tabs, and search in some sites for code ideas, and get what i have now1st i have the broblem that wen i choice one iten the image appears in all tabsi resolved that with the -----GUISwitch($GUI, $TabID)----Now i have a problema that wen i choice the iten the image doesn t appear only if i change tab i go back to the tabAny idea?expandcollapse popup#include <GuiConstantsEx.au3> #include <GuiTab.au3> Global $dir =("FULL\") $GUI = GUICreate("Test Script", 500, 500) $hTab = GUICtrlCreateTab(5, 10, 500, 450) $Tab1 = GUICtrlCreateTabItem("Tab1") $Tab2 = GUICtrlCreateTabItem("Tab2") $Pic1 = GUICtrlCreatePic("", 15, 202, 25, 25); pic coordenades and size $Pic2 = GUICtrlCreatePic("", 15, 234, 25, 25) $Pic3 = GUICtrlCreatePic("", 15, 264, 25, 25) $Combo3 = GUICtrlCreateCombo("Corpo", 47, 268, 65, 25); combobox place GUICtrlSetFont(-1, 8, 400, 0, "Arial") jcorpo($combo3) ; getdata funcion $Combo2 = GUICtrlCreateCombo("Corpo", 47, 238, 65, 25) GUICtrlSetFont(-1, 8, 400, 0, "Arial") jcorpo($combo2) $Combo1 = GUICtrlCreateCombo("Corpo", 47, 206, 65, 25) GUICtrlSetFont(-1, 8, 400, 0, "Arial") jcorpo($combo1) $Tab3 = GUICtrlCreateTabItem("Tab3") ;GUICtrlSetState($Tab2, $GUI_SHOW); tessting code GUICtrlCreateTabItem("") $Switch_Button = GUICtrlCreateButton("Switch Next", 20, 470, 80, 20) GUISetState(@SW_SHOW, $GUI) While 1 Switch GUIGetMsg() Case $combo1 GUISwitch($GUI, $Tab2) img1($combo1, $Pic1, 15, 202) GUISwitch($GUI) case $combo2 img1($combo2, $pic2, 15, 234) Case $combo3 img1($combo3, $Pic3, 15, 264) Case $GUI_EVENT_CLOSE Exit Case $Switch_Button $iCurrent_TabIndex = _GUICtrlTab_GetCurSel($hTab) $iNext_TabIndex = $iCurrent_TabIndex Switch $iCurrent_TabIndex Case 0, 1 $iNext_TabIndex += 1 Case 2 $iNext_TabIndex = 0 EndSwitch _GUICtrlTab_SetCurSel($hTab, $iNext_TabIndex) EndSwitch WEnd Func img1($var, $imp, $x1, $y1) ; $Read = GUICtrlRead($var) If $Read = "A" Then $imp = GUICtrlCreatePic($dir & "A.bmp", $x1, $y1, 25, 25) EndIf If $Read = "B" Then $imp = GUICtrlCreatePic($dir & "B.bmp", $x1, $y1, 25, 25) EndIf If $Read = "C" Then $imp = GUICtrlCreatePic($dir & "C.bmp", $x1, $y1, 25, 25) EndIf If $Read = "" Then $imp = GUICtrlCreatePic($dir & "", $x1, $y1, 25, 25) ;Else ; $imp = GUICtrlCreatePic($dir & "null.bmp", $x1, $y1, 25, 25) EndIf EndFunc Func jcorpo($varcomb) GUICtrlSetData($varcomb, "A|B|C") EndFunc func _exit() Exit EndFunc
Moderators Melba23 Posted December 8, 2015 Moderators Posted December 8, 2015 Rfsvieira,No need for any GUISwitch lines if you do it the right way - this works fine when I test it with my images:expandcollapse popup#include <GuiConstantsEx.au3> #include <GuiTab.au3> #include <GuiComboBox.au3> Global $sDir = "FULL\" $hGUI = GUICreate("Test Script", 500, 500) $cTab = GUICtrlCreateTab(5, 10, 500, 450) $cTab_0 = GUICtrlCreateTabItem("Tab 0") ; Tabs start at 0 so I always do the same $cTab_1 = GUICtrlCreateTabItem("Tab 1") $cPic_1 = GUICtrlCreatePic("", 15, 202, 25, 25); pic coordenades and size $cPic_2 = GUICtrlCreatePic("", 15, 234, 25, 25) $cPic_3 = GUICtrlCreatePic("", 15, 264, 25, 25) $cCombo_3 = GUICtrlCreateCombo("", 47, 268, 65, 25) _GUICtrlComboBox_SetCueBanner($cCombo_3, "Corpo") ; Use this to get initial text that does not appear in the dropdown list GUICtrlSetFont($cCombo_3, 8, 400, 0, "Arial") _jcorpo($cCombo_3) $cCombo_2 = GUICtrlCreateCombo("", 47, 238, 65, 25) _GUICtrlComboBox_SetCueBanner($cCombo_2, "Corpo") GUICtrlSetFont($cCombo_2, 8, 400, 0, "Arial") _jcorpo($cCombo_2) $cCombo_1 = GUICtrlCreateCombo("", 47, 206, 65, 25) _GUICtrlComboBox_SetCueBanner($cCombo_1, "Corpo") GUICtrlSetFont($cCombo_1, 8, 400, 0, "Arial") _jcorpo($cCombo_1) $cTab_2 = GUICtrlCreateTabItem("Tab 2") GUICtrlCreateTabItem("") $cSwitch = GUICtrlCreateButton("Switch Next", 20, 470, 80, 20) GUISetState(@SW_SHOW, $hGUI) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit Case $cCombo_1 _Image($cCombo_1, $cPic_1) Case $cCombo_2 _Image($cCombo_2, $cPic_2) Case $cCombo_3 _Image($cCombo_3, $cPic_3) Case $cSwitch ; Much more elegant way to move to the next tab _GUICtrlTab_SetCurSel($cTab, Mod(_GUICtrlTab_GetCurSel($cTab) + 1, 3)) EndSwitch WEnd Func _Image($cCombo, $cPic) Switch GUICtrlRead($cCombo) Case "A" ; Do not recreate the image - just set a new image in the picture control GUICtrlSetImage($cPic, $sDir & "A.bmp") Case "B" GUICtrlSetImage($cPic, $sDir & "B.bmp") Case "C" GUICtrlSetImage($cPic, $sDir & "C.bmp") EndSwitch EndFunc ;==>_Image Func _jcorpo($cCombo) GUICtrlSetData($cCombo, "A|B|C") EndFunc ;==>_jcorpo Func _exit() Exit EndFunc ;==>_exitPlease ask if you have any questions.M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
Rfsvieira Posted December 12, 2015 Author Posted December 12, 2015 Perfect very very thanksi have another problema with designt and moviment gui and child guii wll postvery thanks fo your time
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now