Matz Posted September 5, 2006 Share Posted September 5, 2006 Hi. I'm developing a GUI where the users are guided through 5 steps, with Next and Back buttons. The 5 steps is in the same Window/GUI, but different content, buttons, labels, in each step. Very similar to a wizard... I've looked a bit on GuiCreate/GuiDelete and @SW_Show/Hide... Anyone got a tip on whats the best way to do this? Kind regards. Mats ------------------------------------------- Have you tried the new vista? No... I don't play games! Link to comment Share on other sites More sharing options...
powaking Posted September 5, 2006 Share Posted September 5, 2006 Hi.I'm developing a GUI where the users are guided through 5 steps, with Next and Back buttons. The 5 steps is in the same Window/GUI, but different content, buttons, labels, in each step. Very similar to a wizard...I've looked a bit on GuiCreate/GuiDelete and @SW_Show/Hide... Anyone got a tip on whats the best way to do this?Kind regards. Mats------------------------------------------- Have you tried the new vista? No... I don't play games!Might want to take a look at using Tabs instead. Can make it so that tab 2 can only be accessed from tab 1 and tab 3 can only be accessed from tab 2 and so on. Link to comment Share on other sites More sharing options...
Zedna Posted September 5, 2006 Share Posted September 5, 2006 I thought about using groupbox for each page with all controls inside and by buttons Back/Next only change GUICtrlSetState($GroupXX, $GUI_SHOW/$GUI_HIDE) But I tested it and when I set GUICtrlSetState($Group1, $GUI_HIDE) then controls inside that groupbox are still visible! Isn't this behaviour BUG of AutoIt? Resources UDF ResourcesEx UDF AutoIt Forum Search Link to comment Share on other sites More sharing options...
Matz Posted September 6, 2006 Author Share Posted September 6, 2006 Might want to take a look at using Tabs instead. Can make it so that tab 2 can only be accessed from tab 1 and tab 3 can only be accessed from tab 2 and so on.I tried that one.. but I have a nice background image that really makes the tool, and the tab destroys the bk, unless I can make the tab transparent?Also I'm making a button menu on the top. The users need it in with a spoon Can the buttons trigger a tab?I guess I can try to:- Main window thats hidden. Just for the app in taskbar.- Child(1) window, that show the app.- When next is clicked. The window $position of the child(1) window is set, Winmove Child(2) window to $position, then @sw_hide child(1) and @sw_show child(2)--- Mats --- Link to comment Share on other sites More sharing options...
Daniel W. Posted September 6, 2006 Share Posted September 6, 2006 This way is much easier: $Gui1 = GuiCreate("") $Btn = GuiCtrlCreateButton("X",10,10) $Gui2 = GuiCreate("") $Btn2 = Guictrlcreatebutton("Y",10,10) GuiSetState( @SW_SHOW, $Gui1) Do $msg = GUIGetMsg() If $Msg = $Btn Then GuiSetstate( @SW_SHOW, $Gui2 ) GuiSetstate( @SW_HIDE, $Gui1 ) ElseIf $Msg = $Btn2 Then GuiSetstate( @SW_SHOW, $Gui1 ) GuiSetstate( @SW_HIDE, $Gui2 ) EndIf Until $msg = -3 --------------------------------------------------------------------------------------------------------------------------------Scripts : _Encrypt UDF_UniquePCCode UDF MS like calculatorInstall programm *UPDATED* --------------------------------------------------------------------------------------------------------------------------------[quote name='Helge' post='213117' date='Jul 26 2006, 10:22 AM']Have you ever tried surfing the internet with a milk-carton ?This is similar to what you're trying to do.[/quote] Link to comment Share on other sites More sharing options...
Valuater Posted September 6, 2006 Share Posted September 6, 2006 how to handle 10 children expandcollapse popup#include <GuiConstants.au3> Dim $show = 0, $Child_[11], $children = 10 $Main = GuiCreate("MyGUI", 516, 323, (@DesktopWidth-516)/2, (@DesktopHeight-323)/2) $Button_1 = GuiCtrlCreateButton("&Next >", 335, 290, 80, 25) $Button_2 = GuiCtrlCreateButton("< &Back", 250, 290, 80, 25) $Button_3 = GuiCtrlCreateButton("&Exit", 420, 290, 80, 25) $Button_6 = GuiCtrlCreateButton("", 10, 270, 495, 3, -1, $WS_EX_STATICEDGE) GuiSetState() $Child_[1] = GuiCreate("", 508, 238, 1, 1, BitOr($WS_CHILD,$WS_TABSTOP)+$WS_DLGFRAME ,-1, $main) $Label_1 = GuiCtrlCreateLabel("Child 1", 10, 10, 230, 30) GuiSetState() $Child_[2] = GuiCreate("", 508, 238, 1, 1, BitOr($WS_CHILD,$WS_TABSTOP)+$WS_DLGFRAME ,-1, $main) $Label_1 = GuiCtrlCreateLabel("Child 2.", 20, 20, 290, 30) GuiSetState(@SW_HIDE) $Child_[3] = GuiCreate("", 508, 238, 1, 1, BitOr($WS_CHILD,$WS_TABSTOP)+$WS_DLGFRAME ,-1, $main) $Label_1 = GuiCtrlCreateLabel("Child 3.", 30, 30, 290, 30) GuiSetState(@SW_HIDE) $Child_[4] = GuiCreate("", 508, 238, 1, 1, BitOr($WS_CHILD,$WS_TABSTOP)+$WS_DLGFRAME ,-1, $main) $Label_1 = GuiCtrlCreateLabel("Child 4.", 40, 40, 290, 30) GuiSetState(@SW_HIDE) $Child_[5] = GuiCreate("", 508, 238, 1, 1, BitOr($WS_CHILD,$WS_TABSTOP)+$WS_DLGFRAME ,-1, $main) $Label_1 = GuiCtrlCreateLabel("Child 5.", 50, 50, 290, 30) GuiSetState(@SW_HIDE) $Child_[6] = GuiCreate("", 508, 238, 1, 1, BitOr($WS_CHILD,$WS_TABSTOP)+$WS_DLGFRAME ,-1, $main) $Label_1 = GuiCtrlCreateLabel("Child 6.", 60, 60, 290, 30) GuiSetState(@SW_HIDE) $Child_[7] = GuiCreate("", 508, 238, 1, 1, BitOr($WS_CHILD,$WS_TABSTOP)+$WS_DLGFRAME ,-1, $main) $Label_1 = GuiCtrlCreateLabel("Child 7.", 70, 70, 290, 30) GuiSetState(@SW_HIDE) $Child_[8] = GuiCreate("", 508, 238, 1, 1, BitOr($WS_CHILD,$WS_TABSTOP)+$WS_DLGFRAME ,-1, $main) $Label_1 = GuiCtrlCreateLabel("Child 8.", 80, 80, 290, 30) GuiSetState(@SW_HIDE) $Child_[9] = GuiCreate("", 508, 238, 1, 1, BitOr($WS_CHILD,$WS_TABSTOP)+$WS_DLGFRAME ,-1, $main) $Label_1 = GuiCtrlCreateLabel("Child 9.", 90, 90, 290, 30) GuiSetState(@SW_HIDE) $Child_[10] = GuiCreate("", 508, 238, 1, 1, BitOr($WS_CHILD,$WS_TABSTOP)+$WS_DLGFRAME ,-1, $main) $Label_1 = GuiCtrlCreateLabel("Child 10..... You Must be Nuts if you have ... 10 Children!!!", 50, 100, 390, 30) GUICtrlSetFont(-1, 10, 650) GuiSetState(@SW_HIDE) While 1 $msg = GuiGetMsg() Select Case $msg = $GUI_EVENT_CLOSE Or $msg = $Button_3 ExitLoop Case $msg = $Button_1 Set_Next() Case $msg = $Button_2 Set_Back() ;;; EndSelect WEnd ;--------- Functions ------------------- Func Set_Next() For $x = 1 to $children -1 $Nwin = WinGetState( $child_[$x] ) If $Nwin > 5 Then GuiSetState( @SW_HIDE, $child_[$x]) GuiSetState( @SW_SHOW, $child_[$x +1]) Return EndIf Next EndFunc Func Set_Back() For $x = $children To 1 Step -1 $Nwin = WinGetState( $child_[$x] ) If $Nwin > 5 Then GuiSetState( @SW_HIDE, $child_[$x]) GuiSetState( @SW_SHOW, $child_[$x -1]) Return EndIf Next EndFunc 8) Link to comment Share on other sites More sharing options...
Matz Posted September 6, 2006 Author Share Posted September 6, 2006 how to handle 10 children expandcollapse popup#include <GuiConstants.au3> Dim $show = 0, $Child_[11], $children = 10 $Main = GuiCreate("MyGUI", 516, 323, (@DesktopWidth-516)/2, (@DesktopHeight-323)/2) $Button_1 = GuiCtrlCreateButton("&Next >", 335, 290, 80, 25) $Button_2 = GuiCtrlCreateButton("< &Back", 250, 290, 80, 25) $Button_3 = GuiCtrlCreateButton("&Exit", 420, 290, 80, 25) $Button_6 = GuiCtrlCreateButton("", 10, 270, 495, 3, -1, $WS_EX_STATICEDGE) GuiSetState() $Child_[1] = GuiCreate("", 508, 238, 1, 1, BitOr($WS_CHILD,$WS_TABSTOP)+$WS_DLGFRAME ,-1, $main) $Label_1 = GuiCtrlCreateLabel("Child 1", 10, 10, 230, 30) GuiSetState() $Child_[2] = GuiCreate("", 508, 238, 1, 1, BitOr($WS_CHILD,$WS_TABSTOP)+$WS_DLGFRAME ,-1, $main) $Label_1 = GuiCtrlCreateLabel("Child 2.", 20, 20, 290, 30) GuiSetState(@SW_HIDE) $Child_[3] = GuiCreate("", 508, 238, 1, 1, BitOr($WS_CHILD,$WS_TABSTOP)+$WS_DLGFRAME ,-1, $main) $Label_1 = GuiCtrlCreateLabel("Child 3.", 30, 30, 290, 30) GuiSetState(@SW_HIDE) $Child_[4] = GuiCreate("", 508, 238, 1, 1, BitOr($WS_CHILD,$WS_TABSTOP)+$WS_DLGFRAME ,-1, $main) $Label_1 = GuiCtrlCreateLabel("Child 4.", 40, 40, 290, 30) GuiSetState(@SW_HIDE) $Child_[5] = GuiCreate("", 508, 238, 1, 1, BitOr($WS_CHILD,$WS_TABSTOP)+$WS_DLGFRAME ,-1, $main) $Label_1 = GuiCtrlCreateLabel("Child 5.", 50, 50, 290, 30) GuiSetState(@SW_HIDE) $Child_[6] = GuiCreate("", 508, 238, 1, 1, BitOr($WS_CHILD,$WS_TABSTOP)+$WS_DLGFRAME ,-1, $main) $Label_1 = GuiCtrlCreateLabel("Child 6.", 60, 60, 290, 30) GuiSetState(@SW_HIDE) $Child_[7] = GuiCreate("", 508, 238, 1, 1, BitOr($WS_CHILD,$WS_TABSTOP)+$WS_DLGFRAME ,-1, $main) $Label_1 = GuiCtrlCreateLabel("Child 7.", 70, 70, 290, 30) GuiSetState(@SW_HIDE) $Child_[8] = GuiCreate("", 508, 238, 1, 1, BitOr($WS_CHILD,$WS_TABSTOP)+$WS_DLGFRAME ,-1, $main) $Label_1 = GuiCtrlCreateLabel("Child 8.", 80, 80, 290, 30) GuiSetState(@SW_HIDE) $Child_[9] = GuiCreate("", 508, 238, 1, 1, BitOr($WS_CHILD,$WS_TABSTOP)+$WS_DLGFRAME ,-1, $main) $Label_1 = GuiCtrlCreateLabel("Child 9.", 90, 90, 290, 30) GuiSetState(@SW_HIDE) $Child_[10] = GuiCreate("", 508, 238, 1, 1, BitOr($WS_CHILD,$WS_TABSTOP)+$WS_DLGFRAME ,-1, $main) $Label_1 = GuiCtrlCreateLabel("Child 10..... You Must be Nuts if you have ... 10 Children!!!", 50, 100, 390, 30) GUICtrlSetFont(-1, 10, 650) GuiSetState(@SW_HIDE) While 1 $msg = GuiGetMsg() Select Case $msg = $GUI_EVENT_CLOSE Or $msg = $Button_3 ExitLoop Case $msg = $Button_1 Set_Next() Case $msg = $Button_2 Set_Back() ;;; EndSelect WEnd ;--------- Functions ------------------- Func Set_Next() For $x = 1 to $children -1 $Nwin = WinGetState( $child_[$x] ) If $Nwin > 5 Then GuiSetState( @SW_HIDE, $child_[$x]) GuiSetState( @SW_SHOW, $child_[$x +1]) Return EndIf Next EndFunc Func Set_Back() For $x = $children To 1 Step -1 $Nwin = WinGetState( $child_[$x] ) If $Nwin > 5 Then GuiSetState( @SW_HIDE, $child_[$x]) GuiSetState( @SW_SHOW, $child_[$x -1]) Return EndIf Next EndFunc 8) I really liked this one It was something like this I was thinking about... Cause several GuiCreate with @sw_show/hide will show the labels on the taskbar disappear and appear. Thanks ---------------------------------------------------- Have you tried the new vista? No, I don't play games... Link to comment Share on other sites More sharing options...
Valuater Posted September 6, 2006 Share Posted September 6, 2006 Welcome 8) Link to comment Share on other sites More sharing options...
iceberg Posted September 12, 2006 Share Posted September 12, 2006 hi Valuater, using yr codes...how do i go about if I wanna read back and forth a text file line by line? thanks. mouse not found....scroll any mouse to continue. Link to comment Share on other sites More sharing options...
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