Zuerst erstellst du die HauptGUI (mit dem Eingabefeld) und schaltest sie mit GUISetState sichtbar. Dann erstellst du die 6 anderen GUIs ganz nach deinen wünschen, aber benutzt noch nicht GUISetState. Dadurch sind sie nicht von Anfang an sichtbar.
Dann fragst du den Wert des Eingabefelds in der Hauptschleife des Scripts ab und schaltest ggf. die GUIs per GUISetState an/aus.
Hier noch ein Beispiel (mit Arrays, der Übersicht wgen):
Spoiler anzeigen
#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]$iGUI_Count = 6 ;Number of (sub)GUIs
[/autoit] [autoit][/autoit] [autoit]$hWnd = GUICreate("Main", 400, 200)
$cInput = GUICtrlCreateInput("", 10, 10, 60, 20)
$cButton = GUICtrlCreateButton("OK", 80, 10, 60, 20)
GUISetState()
Global $aGUIs[$iGUI_Count][2]
For $i = 0 To $iGUI_Count - 1
$aGUIs[$i][1] = False ;Visibilty state
$aGUIs[$i][0] = GUICreate("Sub " & $i + 1, 200, 100)
GUICtrlCreateLabel("GUI Nr. " & $i + 1, 10, 10, 80, 20)
Next
While True
$aMsg = GUIGetMsg(1)
Switch $aMsg[1]
Case $hWnd ;If message comes form main Window...
Switch $aMsg[0]
Case $GUI_EVENT_CLOSE
Exit
Case $cButton
$iGUI = GUICtrlRead($cInput)
If StringIsInt($iGUI) And $iGUI >= 0 And $iGUI <= $iGUI_Count Then
$aGUIs[$iGUI - 1][1] = True
GUISetState(@SW_SHOW, $aGUIs[$iGUI - 1][0])
EndIf
EndSwitch
Case Else ;If message comes form one of the sub Windows...
For $i = 0 To $iGUI_Count - 1
If $aGUIs[$i][0] = $aMsg[1] Then ExitLoop
Next
$iGUI = $i ;Index of GUI in $aGUIs
Switch $aMsg[0]
Case $GUI_EVENT_CLOSE
$aGUIs[$iGUI][1] = False
GUISetState(@SW_HIDE, $aMsg[1])
EndSwitch
EndSwitch
WEnd