dwaltosz Posted April 22, 2015 Posted April 22, 2015 (edited) i have been racking my brain for weeks on how to achieve this can anyone help i am creating an installer and need 7 radio buttons to hid and 4 to show up when i press the WiFi radio button any help is much appreciated this in my subGUI3() function and my subsubGUI() function expandcollapse popup#RequireAdmin #include <WinAPIFiles.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <MsgBoxConstants.au3> #include <GDIPlus.au3> #include <Misc.au3> #include <StaticConstants.au3> Func _IsChecked($idControlID) Return BitAND(GUICtrlRead($idControlID), $GUI_CHECKED) = $GUI_CHECKED EndFunc Global $hGuiMain = GUICreate("Driver loader", 500, 200) GUISetBkColor(0xCC0000) GUICtrlCreateTab(10, 10, 485, 185) Global $BT1 = GUICtrlCreateButton("Exit", 400, 150, 60) GUICtrlCreateTabItem("HP 450G1") Global $chb1 = GUICtrlCreateRadio("LAN", 30, 35) Global $chb2 = GUICtrlCreateRadio("WiFi", 30, 55) Global $chb3 = GUICtrlCreateRadio("Chipset", 30, 75) Global $chb8 = GUICtrlCreateRadio("Media Card", 30, 95) Global $chb4 = GUICtrlCreateRadio("Video", 140, 35) Global $chb5 = GUICtrlCreateRadio("Rapid Storage Technology", 140, 55) Global $chb6 = GUICtrlCreateRadio("3D DriveGuard", 140, 75) Global $chb7 = GUICtrlCreateRadio("USB3", 140, 95) GUICtrlCreateTabItem("HP 450G2") Global $chb9 = GUICtrlCreateRadio("LAN", 30, 35) Global $chb10 = GUICtrlCreateRadio("WiFi", 30, 55) Global $chb11 = GUICtrlCreateRadio("Chipset", 30, 75) ;~ Global $chb12 = GUICtrlCreateRadio("Media Card", 30, 95) ;~ Global $chb13 = GUICtrlCreateRadio("Video", 140, 35) ;~ Global $chb14 = GUICtrlCreateRadio("Rapid Storage Technology", 140, 55) ;~ Global $chb15 = GUICtrlCreateRadio("3D DriveGuard", 140, 75) ;~ Global $chb16 = GUICtrlCreateRadio("USB3", 140, 95) GUICtrlCreateTabItem("Toshiba") GUICtrlCreateLabel("Satellite", 30, 35) Global $chb17 = GUICtrlCreateRadio("C650", 30, 55) Global $chb18 = GUICtrlCreateRadio("C855", 30, 75) Global $chb20 = GUICtrlCreateRadio("C8750D", 30, 95) GUISetState(@sw_show) While 1 Switch GUIGetMsg() case $chb2 IF _IsChecked($chb2) Then subGUI() EndIf case $chb1 IF _IsChecked($chb1) Then If MsgBox(0, "Install", "To Install Nic Driver press OK") = 1 then lan() EndIf EndIf Case $BT1 Exit case $chb3 IF _IsChecked($chb3) Then subGUI2() EndIf Case $chb4 If _IsChecked($chb4) Then video() EndIf Case $chb8 If _IsChecked($chb8) Then MECA() EndIf case $chb11 IF _IsChecked($chb11) Then If MsgBox(0, "Install", "To Install Chipset Driver press OK") = 1 then chip222() EndIf EndIf Case $chb9 IF _IsChecked($chb9) Then If MsgBox(0, "Install", "To Install LAN Driver press OK") = 1 then lan222() EndIf EndIf Case $chb17 If _IsChecked($chb17) Then subGUI3() EndIf EndSwitch WEnd Func subGUI() GUICreate("WiFi", 200, 130) GUISetBkColor(0x99CC99) Global $wifi1 = GUICtrlCreateRadio("Intel", 30, 30) Global $wifi2 = GUICtrlCreateRadio("Qualcomm", 30, 50) GUISetState(@sw_show) while 1 Switch GUIGetMsg() $nMsg = GUIGetMsg() Case $GUI_EVENT_CLOSE GUISetState(@sw_hide) Return case $wifi1 If _IsChecked($wifi1) Then wifi11() EndIf case $wifi2 If _IsChecked($wifi2) Then wifi22() EndIf EndSwitch WEnd EndFunc Func subGUI2() GUICreate("Chipset", 200, 200) GUISetBkColor(0x99CC99) Global $chip1 = GUICtrlCreateRadio("Instalation Utility", 30, 30) Global $chip2 = GUICtrlCreateRadio("ME", 30, 50) Global $chip3 = GUICtrlCreateRadio("System", 30, 70) GUISetState(@sw_show) while 1 Switch GUIGetMsg() $nMsg = GUIGetMsg() Case $GUI_EVENT_CLOSE GUISetState(@sw_hide) Return case $chip1 If _IsChecked($chip1) Then chip11() EndIf case $chip2 If _IsChecked($chip2) Then chip22() EndIf case $chip3 If _IsChecked($chip3) Then chip33() EndIf EndSwitch WEnd EndFunc Func subGUI3() $hGuiSecond = GUICreate("C650", 200, 200) GUISetBkColor(0x99CC99) ;~ Local $nMsg Local $6501 = GUICtrlCreateRadio("LAN", 30, 30) Local $6502 = GUICtrlCreateRadio("Chipset", 30, 50) Local $6503 = GUICtrlCreateRadio("WiFi", 30, 70) Local $6504 = GUICtrlCreateRadio("IMEI", 30, 90) Local $6505 = GUICtrlCreateRadio("Rapid Storage", 30, 110) Local $6506 = GUICtrlCreateRadio("Video", 30, 130) Local $6507 = GUICtrlCreateRadio("Card Reader", 30, 150) GUISetState(@sw_show) GUICtrlSetState($6501, $GUI_SHOW) while 1 Switch GUIGetMsg() $nMsg = GUIGetMsg() Case $GUI_EVENT_CLOSE GUISetState(@sw_hide) Return Case $6501 If _IsChecked($6501) Then Run("O:\Drivers\Toshiba\Satellite - c650\lan\TC50131900E.exe") Else GUICtrlSetState($6501, 32) EndIf Case $6502 If _IsChecked($6502) Then Run("O:\Drivers\Toshiba\Satellite - c650\chipset\tc50087300b.exe") ElseIf GUICtrlSetState(-1, $GUI_HIDE) EndIf Case $6503 If _IsChecked($6503) Then subsubGUI() GUICtrlSetState($6503, $GUI_HIDE) EndIf EndSwitch WEnd EndFunc Func subsubGUI() ;~ $hGuiThrid = GUICreate("WIFI", 200, 200) GUISetBkColor(0x99CC66) Global $tosh1 = GUICtrlCreateRadio("Artheros", 30, 30) Global $tosh2 = GUICtrlCreateRadio("Brodcom", 30, 50) Global $tosh3 = GUICtrlCreateRadio("Intel", 30, 70) Global $tosh4 = GUICtrlCreateRadio("Realtek", 30, 90) GUISetState(@sw_show) GUICtrlSetState($tosh1, $GUI_SHOW) while 1 Switch GUIGetMsg() $nMsg = GUIGetMsg() Case $GUI_EVENT_CLOSE GUISetState(@sw_hide) Return case $tosh1 If _IsChecked($tosh1) Then Run("O:\Drivers\Toshiba\Satellite - c650\WiFi\atheros wireless lan\TC00503900A.exe") EndIf case $tosh2 If _IsChecked($tosh2) Then Run("O:\Drivers\Toshiba\Satellite - c650\WiFi\Brodcom WiFi\tc50169700b.exe") EndIf case $tosh3 If _IsChecked($tosh3) Then RUN("O:\Drivers\Toshiba\Satellite - c650\WiFi\Intel WiFi\tc50177900d.exe") EndIf case $tosh4 If _IsChecked($tosh4) Then RUN("O:\Drivers\Toshiba\Satellite - c650\WiFi\Realtek WiFi\tc70207900b.exe") EndIf EndSwitch WEnd EndFunc Func wifi11() Run("O:\Drivers\HP\ProBook\450G1\WiFi - Intel\sp69971.exe") EndFunc Func wifi22() Run("O:\Drivers\HP\ProBook\450G1\WiFi - Qualcomm\sp64676.exe") EndFunc Func lan() Run("O:\Drivers\HP\ProBook\450G1\Lan\Install_Win7_7092_02252015\setup.exe") EndFunc Func chip33() Run("O:\Drivers\HP\ProBook\450G1\Chipset - System\Setup.exe") EndFunc Func chip22() Run("O:\Drivers\HP\ProBook\450G1\Chipset - ME\Setup.exe") EndFunc Func chip11() Run("O:\Drivers\HP\ProBook\450G1\Chipset - Instalation Utility\Setup.exe") EndFunc Func video() Run("O:\Drivers\HP\ProBook\450G1\Video\Setup.exe") EndFunc Func MECA() Run("O:\Drivers\HP\ProBook\450G1\Media Card\setup.exe") EndFunc Func chip222() Run("O:\Drivers\HP\ProBook\450 g2\SetupChipset.exe") EndFunc Func lan222() Run("O:\Drivers\HP\ProBook\450 g2\sp69971.exe") EndFunc Edited April 22, 2015 by dwaltosz
Moderators Solution Melba23 Posted April 22, 2015 Moderators Solution Posted April 22, 2015 dwaltosz,I would resize the GUI and show the radios which had been hidden when the GUI was created - something like this:expandcollapse popup#include <WinAPIFiles.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <MsgBoxConstants.au3> #include <GDIPlus.au3> #include <Misc.au3> #include <StaticConstants.au3> Opt("GUIResizeMode", $GUI_DOCKTOP) Global $hGuiMain = GUICreate("Driver loader", 500, 200) GUISetBkColor(0xCC0000) GUICtrlCreateTab(10, 10, 485, 185) Global $BT1 = GUICtrlCreateButton("Exit", 400, 150, 60) GUICtrlCreateTabItem("HP 450G1") Global $chb1 = GUICtrlCreateRadio("LAN", 30, 35) Global $chb2 = GUICtrlCreateRadio("WiFi", 30, 55) Global $chb3 = GUICtrlCreateRadio("Chipset", 30, 75) Global $chb8 = GUICtrlCreateRadio("Media Card", 30, 95) Global $chb4 = GUICtrlCreateRadio("Video", 140, 35) Global $chb5 = GUICtrlCreateRadio("Rapid Storage Technology", 140, 55) Global $chb6 = GUICtrlCreateRadio("3D DriveGuard", 140, 75) Global $chb7 = GUICtrlCreateRadio("USB3", 140, 95) GUICtrlCreateTabItem("HP 450G2") Global $chb9 = GUICtrlCreateRadio("LAN", 30, 35) Global $chb10 = GUICtrlCreateRadio("WiFi", 30, 55) Global $chb11 = GUICtrlCreateRadio("Chipset", 30, 75) GUICtrlCreateTabItem("Toshiba") GUICtrlCreateLabel("Satellite", 30, 35) Global $chb17 = GUICtrlCreateRadio("C650", 30, 55) Global $chb18 = GUICtrlCreateRadio("C855", 30, 75) Global $chb20 = GUICtrlCreateRadio("C8750D", 30, 95) GUISetState(@SW_SHOW) While 1 Switch GUIGetMsg() Case $chb2 If _IsChecked($chb2) Then subGUI() EndIf Case $chb1 If _IsChecked($chb1) Then If MsgBox(0, "Install", "To Install Nic Driver press OK") = 1 Then lan() EndIf EndIf Case $BT1 Exit Case $chb3 If _IsChecked($chb3) Then subGUI2() EndIf Case $chb4 If _IsChecked($chb4) Then video() EndIf Case $chb8 If _IsChecked($chb8) Then MECA() EndIf Case $chb11 If _IsChecked($chb11) Then If MsgBox(0, "Install", "To Install Chipset Driver press OK") = 1 Then chip222() EndIf EndIf Case $chb9 If _IsChecked($chb9) Then If MsgBox(0, "Install", "To Install LAN Driver press OK") = 1 Then lan222() EndIf EndIf Case $chb17 If _IsChecked($chb17) Then subGUI3() EndIf EndSwitch WEnd Func _IsChecked($idControlID) Return BitAND(GUICtrlRead($idControlID), $GUI_CHECKED) = $GUI_CHECKED EndFunc ;==>_IsChecked Func subGUI() GUICreate("WiFi", 200, 130) GUISetBkColor(0x99CC99) Global $wifi1 = GUICtrlCreateRadio("Intel", 30, 30) Global $wifi2 = GUICtrlCreateRadio("Qualcomm", 30, 50) GUISetState(@SW_SHOW) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE GUISetState(@SW_HIDE) Return Case $wifi1 If _IsChecked($wifi1) Then wifi11() EndIf Case $wifi2 If _IsChecked($wifi2) Then wifi22() EndIf EndSwitch WEnd EndFunc ;==>subGUI Func subGUI2() GUICreate("Chipset", 200, 200) GUISetBkColor(0x99CC99) Global $chip1 = GUICtrlCreateRadio("Instalation Utility", 30, 30) Global $chip2 = GUICtrlCreateRadio("ME", 30, 50) Global $chip3 = GUICtrlCreateRadio("System", 30, 70) GUISetState(@SW_SHOW) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE GUISetState(@SW_HIDE) Return Case $chip1 If _IsChecked($chip1) Then chip11() EndIf Case $chip2 If _IsChecked($chip2) Then chip22() EndIf Case $chip3 If _IsChecked($chip3) Then chip33() EndIf EndSwitch WEnd EndFunc ;==>subGUI2 Func subGUI3() $hGuiSecond = GUICreate("C650", 200, 200) GUISetBkColor(0x99CC99) ;~ Local $nMsg Local $6501 = GUICtrlCreateRadio("LAN", 30, 30) Local $6502 = GUICtrlCreateRadio("Chipset", 30, 50) Local $6503 = GUICtrlCreateRadio("WiFi", 30, 70) Local $6504 = GUICtrlCreateRadio("IMEI", 30, 90) Local $6505 = GUICtrlCreateRadio("Rapid Storage", 30, 110) Local $6506 = GUICtrlCreateRadio("Video", 30, 130) Local $6507 = GUICtrlCreateRadio("Card Reader", 30, 150) Global $tosh1 = GUICtrlCreateRadio("Artheros", 30, 190) GUICtrlSetState($tosh1, $GUI_HIDE) Global $tosh2 = GUICtrlCreateRadio("Brodcom", 30,210) GUICtrlSetState($tosh2, $GUI_HIDE) Global $tosh3 = GUICtrlCreateRadio("Intel", 30, 230) GUICtrlSetState($tosh3, $GUI_HIDE) Global $tosh4 = GUICtrlCreateRadio("Realtek", 30, 250) GUICtrlSetState($tosh4, $GUI_HIDE) GUISetState(@SW_SHOW) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE GUIDelete($hGuiSecond) Return Case $6501 If _IsChecked($6501) Then Run("O:\Drivers\Toshiba\Satellite - c650\lan\TC50131900E.exe") Else GUICtrlSetState($6501, 32) EndIf Case $6502 If _IsChecked($6502) Then Run("O:\Drivers\Toshiba\Satellite - c650\chipset\tc50087300b.exe") Else GUICtrlSetState(-1, $GUI_HIDE) EndIf Case $6503 If _IsChecked($6503) Then WinMove($hGuiSecond, "", Default, Default, Default, 320) GUICtrlSetState($6503, $GUI_DISABLE) GUICtrlSetState($tosh1, $GUI_SHOW) GUICtrlSetState($tosh2, $GUI_SHOW) GUICtrlSetState($tosh3, $GUI_SHOW) GUICtrlSetState($tosh4, $GUI_SHOW) EndIf Case $tosh1 If _IsChecked($tosh1) Then Run("O:\Drivers\Toshiba\Satellite - c650\WiFi\atheros wireless lan\TC00503900A.exe") EndIf Case $tosh2 If _IsChecked($tosh2) Then Run("O:\Drivers\Toshiba\Satellite - c650\WiFi\Brodcom WiFi\tc50169700b.exe") EndIf Case $tosh3 If _IsChecked($tosh3) Then Run("O:\Drivers\Toshiba\Satellite - c650\WiFi\Intel WiFi\tc50177900d.exe") EndIf Case $tosh4 If _IsChecked($tosh4) Then Run("O:\Drivers\Toshiba\Satellite - c650\WiFi\Realtek WiFi\tc70207900b.exe") EndIf EndSwitch WEnd EndFunc ;==>subGUI3 Func wifi11() Run("O:\Drivers\HP\ProBook\450G1\WiFi - Intel\sp69971.exe") EndFunc ;==>wifi11 Func wifi22() Run("O:\Drivers\HP\ProBook\450G1\WiFi - Qualcomm\sp64676.exe") EndFunc ;==>wifi22 Func lan() Run("O:\Drivers\HP\ProBook\450G1\Lan\Install_Win7_7092_02252015\setup.exe") EndFunc ;==>lan Func chip33() Run("O:\Drivers\HP\ProBook\450G1\Chipset - System\Setup.exe") EndFunc ;==>chip33 Func chip22() Run("O:\Drivers\HP\ProBook\450G1\Chipset - ME\Setup.exe") EndFunc ;==>chip22 Func chip11() Run("O:\Drivers\HP\ProBook\450G1\Chipset - Instalation Utility\Setup.exe") EndFunc ;==>chip11 Func video() Run("O:\Drivers\HP\ProBook\450G1\Video\Setup.exe") EndFunc ;==>video Func MECA() Run("O:\Drivers\HP\ProBook\450G1\Media Card\setup.exe") EndFunc ;==>MECA Func chip222() Run("O:\Drivers\HP\ProBook\450 g2\SetupChipset.exe") EndFunc ;==>chip222 Func lan222() Run("O:\Drivers\HP\ProBook\450 g2\sp69971.exe") EndFunc ;==>lan222Note the Opt statement at the top of the script to prevent the existing radios from moving when the GUI is resized - try it without that line and see the difference.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
dwaltosz Posted April 22, 2015 Author Posted April 22, 2015 i will give that a try thanks and get back to you
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