PreludeOfDeath Posted November 6, 2007 Share Posted November 6, 2007 (edited) So when I click 'Add Account' it runs my AddAccountGUI right? When I click 'SAVE' in my AddAccountGUI, it closes, and goes back to the MainGUI (Which never disappears)... Now I want to click on another function (like 'Add Account' again) How do I reactivate or keep the 'WHILE' active? Please Help. Thank You! expandcollapse popupFunc CreateMainGUI() #Region ### START Koda GUI section ### Form=c:\documents and settings\matt\my documents\prelude\autoit scripts\character selector\koda forms\mainmenu.kxf $mainMenu = GUICreate("Character Selector", 632, 487, 188, 115) $nextButton = GUICtrlCreateButton("(Not allowed)", 584, 432, 35, 30, $BS_BITMAP) GUICtrlSetImage($nextButton, "C:\Documents and Settings\Matt\My Documents\Prelude\Autoit Scripts\Character Selector\NextButton.bmp") $backButton = GUICtrlCreateButton("(Not allowed)", 8, 432, 35, 30, $BS_BITMAP) GUICtrlSetImage($backButton, "C:\Documents and Settings\Matt\My Documents\Prelude\Autoit Scripts\Character Selector\BackButton.bmp") $groupChar1 = GUICtrlCreateGroup($charName1, 8, 8, 241, 115) $labelCharPic1 = GUICtrlCreatePic("C:\Documents and Settings\Matt\My Documents\Prelude\Autoit Scripts\Character Selector\PreludeOfDeath.jpg", 16, 24, 60, 90, BitOR($SS_NOTIFY,$WS_GROUP)) $labelCharName1 = GUICtrlCreateLabel("Character: "&$charName1, 80, 24, 160, 17) $labelCharAcct1 = GUICtrlCreateLabel("Account: "&$charAcct1, 96, 40, 150, 17) $labelCharClass1 = GUICtrlCreateLabel("Class: "&$charClass1, 80, 56, 79, 17) $labelCharSlot1 = GUICtrlCreateLabel("Slot: "&$charSlot1, 210, 56, 30, 17) $labelCharType1 = GUICtrlCreateLabel("Type: "&$charType1, 80, 72, 120, 17) $labelCharLevel1 = GUICtrlCreateLabel("Level: "&$charLevel1, 195, 72, 50, 17) $labelCharNotes1 = GUICtrlCreateLabel("Notes: "&$charNotes1, 80, 88, 164, 33) GUICtrlCreateGroup("", -99, -99, 1, 1) $file = GUICtrlCreateMenu("&File") $saveAll = GUICtrlCreateMenuItem("&Save All Changes", $file) $exit = GUICtrlCreateMenuItem("E&xit", $file) $add = GUICtrlCreateMenu("&Add") $addAcct = GUICtrlCreateMenuItem("Add &Account", $add) $addChar = GUICtrlCreateMenuItem("Add &Character", $add) $edit = GUICtrlCreateMenu("&Edit") $editAcct = GUICtrlCreateMenuItem("Edit &Account", $edit) $editChar = GUICtrlCreateMenuItem("Edit &Character", $edit) $delete = GUICtrlCreateMenu("&Delete") $deleteAcct = GUICtrlCreateMenuItem("Delete &Account", $delete) $deleteChar = GUICtrlCreateMenuItem("Delete &Character", $delete) $deleteAll = GUICtrlCreateMenuItem("&Delete All", $delete) $sortChar = GUICtrlCreateMenu("&Sort Characters") $settings = GUICtrlCreateMenu("Se&ttings") $settingsD2 = GUICtrlCreateMenuItem("&Diablo II Settings", $settings) $settingsPath = GUICtrlCreateMenuItem("&Path Settings", $settings) $run = GUICtrlCreateMenu("&Run") $runMH = GUICtrlCreateMenuItem("&MapHack", $run) $runRedvex = GUICtrlCreateMenuItem("&RedVex", $run) $runBluevex = GUICtrlCreateMenuItem("&BlueVex", $run) $about = GUICtrlCreateMenu("A&bout") $aboutSub = GUICtrlCreateMenuItem("&About", $about) $aboutContact = GUICtrlCreateMenuItem("&Contact", $about) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $exit Exit Case $addAcct CreateAddAccountGUI() Case $addChar CreateAddCharacterGUI() Case $editAcct CreateEditAccountGUI() Case $editChar CreateEditCharacterGUI() Case $deleteAcct CreateDeleteAccountGUI() Case $deleteChar CreateDeleteCharacterGUI() Case $deleteAll DeleteAll() Case $labelCharPic1, $labelCharName1, $labelCharAcct1, $labelCharClass1, $labelCharType1, $labelCharSlot1, $labelCharLevel1, $labelCharNotes1 MsgBox(0,"a", "a") EndSwitch WEnd EndFunc EDIT: Deleted my New post, figured that out Edited November 6, 2007 by PreludeOfDeath Link to comment Share on other sites More sharing options...
PreludeOfDeath Posted November 6, 2007 Author Share Posted November 6, 2007 Yey, another problem! I have 2 combo boxes... One box has predefined values The other has values that are based on what is selected on the first one. So If i select 'Peanut Butter' on the first one, the second one displays 'Jelly' and 'Honey' But if i select 'Turkey' on the first one, the second one displays 'Mayo' and 'Lettuce' (Those are just Examples BTW) I cant get the 2nd one to update when they select the first one... I figured i could do this: While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $nMsg = $charType If $charType = GUICtrlRead($charClass) = "Peanut Butter" Then GUICtrlSetData($charType, "Jelly|Honey|Other") But that doesnt seem to work... Is there something else that I need to do? Plz Help! Thank You for putting up with me! Link to comment Share on other sites More sharing options...
Nahuel Posted November 6, 2007 Share Posted November 6, 2007 Something like this I suppose: #include <GUIConstants.au3> GUICreate("Form1", 208, 97, 231, 172) $Combo1 = GUICtrlCreateCombo("Peanut Butter", 18, 16, 173, 125) GUICtrlSetData(-1,"Turkey","Peanut Butter") $Combo2 = GUICtrlCreateCombo("", 18, 54, 173, 125) GUICtrlSetData(-1,"Jelly|Honey","Jelly") GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Combo1 $Type=GUICtrlRead($Combo1) Switch $Type Case "Peanut Butter" GUICtrlSetData($Combo2,"") GUICtrlSetData($Combo2,"Jelly|Honey","Jelly") Case "Turkey" GUICtrlSetData($Combo2,"") GUICtrlSetData($Combo2,"Mayo|Lettuce","Mayo") EndSwitch EndSwitch WEnd Link to comment Share on other sites More sharing options...
DirtDBaK Posted November 7, 2007 Share Posted November 7, 2007 Something like this I suppose: #include <GUIConstants.au3> GUICreate("Form1", 208, 97, 231, 172) $Combo1 = GUICtrlCreateCombo("Peanut Butter", 18, 16, 173, 125) GUICtrlSetData(-1,"Turkey","Peanut Butter") $Combo2 = GUICtrlCreateCombo("", 18, 54, 173, 125) GUICtrlSetData(-1,"Jelly|Honey","Jelly") GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Combo1 $Type=GuiCtrlRead(GUICtrlRead($Combo1)) Switch $Type Case "Peanut Butter" GUICtrlSetData($Combo2,"") GUICtrlSetData($Combo2,"Jelly|Honey","Jelly") Case "Turkey" GUICtrlSetData($Combo2,"") GUICtrlSetData($Combo2,"Mayo|Lettuce","Mayo") EndSwitch EndSwitch WEnd That may work all i changed was GuiCtrlRead( $Combo1) to GuiCtrlRead(GUICtrlRead($Combo1)) Sometimes you have to call the ctrl read function like that, ex. Listview [center][/center] Link to comment Share on other sites More sharing options...
Nahuel Posted November 7, 2007 Share Posted November 7, 2007 That may work all i changed was GuiCtrlRead( $Combo1) to GuiCtrlRead(GUICtrlRead($Combo1)) Sometimes you have to call the ctrl read function like that, ex. Listview What? That doesn't work dude The one I posted works just fine. GuiCtrlRead($Combo1) will return a string: either "Peanut butter" or "Turkey", so you say this is right?: GuiCtrlRead("Peanut Butter") Link to comment Share on other sites More sharing options...
smashly Posted November 7, 2007 Share Posted November 7, 2007 hat may work all i changed was GuiCtrlRead( $Combo1) to GuiCtrlRead(GUICtrlRead($Combo1))Sometimes you have to call the ctrl read function like that, ex. Listview That isn't needed..When you do GuiCtrlRead(GuiCtrlRead($Listview), 1) would be because :GuiCtrlRead($Listview) would return the (controlID) of the selected ListViewItemGuiCtrlRead(GuiCtrlRead($Listview)) would return the State of the TreeViewItem.. GuiCtrlRead(GuiCtrlRead($Listview), 1) would return the The text of the TreeViewItem..In the case of a combobox then GUICtrlRead($Combo1) would return The value selected GuiCtrlRead(GUICtrlRead($Combo1)) would return 0 Cheers Link to comment Share on other sites More sharing options...
PreludeOfDeath Posted November 7, 2007 Author Share Posted November 7, 2007 Something like this I suppose: #include <GUIConstants.au3> GUICreate("Form1", 208, 97, 231, 172) $Combo1 = GUICtrlCreateCombo("Peanut Butter", 18, 16, 173, 125) GUICtrlSetData(-1,"Turkey","Peanut Butter") $Combo2 = GUICtrlCreateCombo("", 18, 54, 173, 125) GUICtrlSetData(-1,"Jelly|Honey","Jelly") GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Combo1 $Type=GUICtrlRead($Combo1) Switch $Type Case "Peanut Butter" GUICtrlSetData($Combo2,"") GUICtrlSetData($Combo2,"Jelly|Honey","Jelly") Case "Turkey" GUICtrlSetData($Combo2,"") GUICtrlSetData($Combo2,"Mayo|Lettuce","Mayo") EndSwitch EndSwitch WEnd Thank you! That works great! Exactly what I was looking for... All I need now is how to loop my GUI... Link to comment Share on other sites More sharing options...
Guest BillBeavis Posted November 7, 2007 Share Posted November 7, 2007 Is there any reason you are not using the OnEvent stuff? I've switch my GUI's from the method you use to OnEvents, seems to run "smoother" and the GUI is more responsive. Link to comment Share on other sites More sharing options...
PreludeOfDeath Posted November 7, 2007 Author Share Posted November 7, 2007 Cause I dont know how to properly use them! I will look into it on the good-ole' help file.... Thanks! 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