Input Feld per Checkbox "enable" machen

  • Hallo
    Ich möchte in einen Formular verschiedene Input-felder per Checkbox auf enable stellen, genauer gesagt:
    In meinen Formular will ich die Ip-Adressen zu einer Netzwerkverbindung einstellen. Den Namen der Netzwerkverbindung lese ich als Variable ein und gebe sie in einen Inputfeld aus.Da der Name in der Regel nicht geändern werden soll hab ich mit GUICtrlSetState(-1, $GUI_DISABLE) Das Input-feld auf Disable(grau hinterlegt) gesetzt. Falls der Name aber doch geändert werden soll, sollte jetzt einfach durch klicken auf die daneben stehende Checkbox, die Inputbox auf enable gesetzt werden

    Hab mir das in etwa so gedacht:
    Funktioniert halt leider noch nicht

    [autoit][/autoit][autoit][/autoit][autoit]

    $LabelVerbindungOnboard = GUICtrlCreateLabel("Verbindung (Onboard)", 30, 152, 108, 17)
    $CheckboxOnboard = GUICtrlCreateCheckbox("", 433, 153, 16, 17)
    $InputVerbindungOnboard = GUICtrlCreateInput($VerbindungOnboard, 140, 152, 280, 21)
    if BitAND (GUICtrlRead($CheckboxOnboard), $GUI_CHECKED) <> $GUI_CHECKED Then GUICtrlSetState(-1, $GUI_DISABLE)

    [/autoit][autoit][/autoit][autoit][/autoit]


    Hier der bisherige code des gesammten Projektes

    Spoiler anzeigen
    [autoit]


    #cs ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    AutoIt Version: 3.2.12.0
    Author:

    [/autoit] [autoit][/autoit] [autoit]

    Installation Maschenenspezifischer Software
    Version 0.0

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    #ce ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    ;;;;Hauptfenster
    #Region ### START Koda GUI section ### Form=U:\Eigene Dateien\AutoIt\Test Installationstool\Form20.kxf
    $FormMaschienenspezifisch = GUICreate("Maschienenspezifische Einstellungen", 413, 305, 245, 180)
    $LabelEquipmentnr = GUICtrlCreateLabel("Equipmentnr. :", 72, 40, 72, 17)
    $InputEquipmentnr = GUICtrlCreateInput("", 176, 40, 121, 21)
    $ButtonOk = GUICtrlCreateButton("Ok", 296, 264, 75, 25, 0)
    $ComboMaschTyp = GUICtrlCreateCombo("AD2390", 177, 5, 121, 25)
    GUICtrlSetData(-1, "AD2391|AD8320|AD8330|AM2185|AM2186|AM8115|AM8125|ARCOMAT")
    $LabelMaschTyp = GUICtrlCreateLabel("Maschienentyp", 72, 7, 76, 17)
    $CheckboxSetIP = GUICtrlCreateCheckbox("Netzwerkverbindungen einstellen", 16, 72, 185, 17)
    $CheckboxComputername = GUICtrlCreateCheckbox("Computername einstellen", 16, 100, 178, 17)
    GUISetState(@SW_SHOW,$FormMaschienenspezifisch)

    [/autoit] [autoit][/autoit] [autoit]

    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While 1
    $Msg = GUIGetMsg()
    Select
    Case $Msg = $ButtonOK ; OK Button gedrückt

    $Equipmentnr = GUICtrlRead ($InputEquipmentnr)
    $Maschtyp = GUICtrlRead ($ComboMaschTyp)

    if BitAND (GUICtrlRead($CheckboxSetIP), $GUI_CHECKED) = $GUI_CHECKED Then ; Haken Netzwerkverbinungen einstellen gesetzt

    SetIp($Maschtyp,$Equipmentnr)
    EndIf

    if BitAND (GUICtrlRead($CheckboxComputername), $GUI_CHECKED) = $GUI_CHECKED Then ; Haken Computername einstellen gesetzt

    Computername($Maschtyp,$Equipmentnr)

    [/autoit] [autoit][/autoit] [autoit]

    EndIf


    Case $Msg = $GUI_EVENT_CLOSE ;Schließen (x) gedrückt
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    Exit

    EndSelect

    [/autoit] [autoit][/autoit] [autoit]

    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func SetIp($Maschiene,$Nr) ;Setzt die Verschiedenen Ip-Adressen

    $Mask = "255.255.255.0"
    $Gateway = "172.16.200.1"
    $VerbindungOnboard = Netzwerkverbindung("(Onboard)"); Gibt den Namen der Netzwerkverbindung zurück die den angegebenen String enthält
    $Verbindung1X = Netzwerkverbindung("(1X)")
    $Verbindung2X = Netzwerkverbindung("(2X)")
    $Verbindung3X = Netzwerkverbindung("(3X)")
    $Verbindung4X = Netzwerkverbindung("(4X)")

    ;IpAdresseOnboard berechnet sich wie folgt aus der Equipmentnr
    $hex = Hex($Nr, 4) ; Berechnet aus der Equipmentnr eine 4 stellige Hex-zahl
    ;MsgBox(0,"Hexzahl",$hex)
    $hexsplit = StringSplit($hex,"") ; Teilt die Hex-Zahl
    $dec1 = Dec($hexsplit[1] & $hexsplit[2]) ; Macht aus den ersten Beiden Hexzahlen wieder eine Dezimalzahl
    $dec2 = Dec($hexsplit[3] & $hexsplit[4])
    $IpAdresseOnboard = "172.16."& $dec1 & "." & $dec2
    ;MsgBox(0,"IP Nr. :",$IpAdresseOnboard)
    ;;;

    ;IpAdresse1X und IpAdresse2X sind vom Maschienentyp abhängig AD2390|AD2391|AD8320|AD8330|AM2185|AM2186|AM8115|AM8125|ARCOMAT
    If $Maschiene = "AD2390" Then $IpAdresse1X = "192.168.2.20"
    If $Maschiene = "AD2391" Then $IpAdresse1X = "192.168.2.20"
    If $Maschiene = "AD8320" Then $IpAdresse1X = "192.168.2.20"
    If $Maschiene = "AD8330" Then $IpAdresse1X = "192.168.2.20"
    If $Maschiene = "AM2185" Then $IpAdresse1X = "192.168.2.10"
    If $Maschiene = "AM2186" Then $IpAdresse1X = "192.168.2.10"
    If $Maschiene = "AM8115" Then $IpAdresse1X = "192.168.2.10"
    If $Maschiene = "AM8125" Then $IpAdresse1X = "192.168.2.10"
    If $Maschiene = "ARCOMAT" Then $IpAdresse1X = "192.168.2.30"
    ;IpAdresse2X
    If $Maschiene = "AD2390" Then $IpAdresse2X = "192.168.50.32"
    If $Maschiene = "AD2391" Then $IpAdresse2X = "192.168.50.32"
    If $Maschiene = "AD8320" Then $IpAdresse2X = "192.168.50.32"
    If $Maschiene = "AD8330" Then $IpAdresse2X = "192.168.50.32"
    If $Maschiene = "AM2185" Then $IpAdresse2X = "192.168.50.1"
    If $Maschiene = "AM2186" Then $IpAdresse2X = "192.168.50.1"
    If $Maschiene = "AM8115" Then $IpAdresse2X = "192.168.50.1"
    If $Maschiene = "AM8125" Then $IpAdresse2X = "192.168.50.1"
    If $Maschiene = "ARCOMAT" Then $IpAdresse2X = "192.168.1.x" ;IP Adresse ist im Kundenbetrieb anzupassen
    ;;;
    $IpAdresse3X = "x.x.x.x"
    $IpAdresse4X = "x.x.x.x"


    ;;;;;Fenster Netzwerkeinstellungen
    #Region ### START Koda GUI section ### Form=U:\Eigene Dateien\AutoIt\Test Installationstool\FormNetzwerkverbindungen.kxf
    $FormNetzwerkverbindungen = GUICreate("Netzwerkverbindungen", 480, 534, 292, 208)
    $LabelNetzwerkverbindungen = GUICtrlCreateLabel("Netzwerkverbindungen", 128, 16, 114, 17)
    $LabelAllgemein = GUICtrlCreateLabel("Allgemein", 118, 50, 49, 17)
    $LabelGateway = GUICtrlCreateLabel("Gateway", 30, 72, 46, 17)
    $LabelMask = GUICtrlCreateLabel("Subnet Mask", 30, 97, 67, 17)
    $LabelVerbindungOnboard = GUICtrlCreateLabel("Verbindung (Onboard)", 30, 152, 108, 17)
    $LabelIpOnboard = GUICtrlCreateLabel("Ip Adresse", 30, 177, 54, 17)
    $LabelVerbindung1X = GUICtrlCreateLabel("Verbindung (1X)", 30, 212, 80, 17)
    $LabelIp2 = GUICtrlCreateLabel("Ip Adresse", 30, 237, 54, 17)
    $LabelVerbindung2X = GUICtrlCreateLabel("Verbindung (2X)", 30, 272, 80, 17)
    $LabelIp3 = GUICtrlCreateLabel("Ip Adresse", 30, 297, 54, 17)
    $LabelVerbindung3X = GUICtrlCreateLabel("Verbindung (3X)", 30, 332, 80, 17)
    $LabelIp4 = GUICtrlCreateLabel("Ip Adresse", 30, 357, 54, 17)
    $LabelVerbindung4X = GUICtrlCreateLabel("Verbindung (4X)", 30, 392, 80, 17)
    $LabelIp5 = GUICtrlCreateLabel("Ip Adresse", 30, 417, 54, 17)
    $CheckboxOnboard = GUICtrlCreateCheckbox("", 433, 153, 16, 17)
    $Checkbox1 = GUICtrlCreateCheckbox("", 433, 213, 16, 17)
    $Checkbox2 = GUICtrlCreateCheckbox("", 433, 272, 16, 17)
    $Checkbox3 = GUICtrlCreateCheckbox("", 433, 334, 16, 17)
    $Checkbox4 = GUICtrlCreateCheckbox("", 433, 394, 16, 17)
    $Labelaendern = GUICtrlCreateLabel("Ändern", 420, 126, 38, 17)
    $InputGateway = GUICtrlCreateInput($Gateway, 140, 72, 280, 21)
    $InputMask = GUICtrlCreateInput($Mask, 140, 96, 280, 21)
    $InputVerbindungOnboard = GUICtrlCreateInput($VerbindungOnboard, 140, 152, 280, 21)
    if BitAND (GUICtrlRead($CheckboxComputername), $GUI_CHECKED) = $GUI_CHECKED Then GUICtrlSetState(-1, $GUI_DISABLE)
    $InputIpOnboard = GUICtrlCreateInput($IpAdresseOnboard, 140, 177, 280, 21)
    $InputVerbindung1X = GUICtrlCreateInput($Verbindung1X, 140, 212, 280, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $InputIp1X = GUICtrlCreateInput($IpAdresse1X, 140, 237, 280, 21)
    $InputVerbindung2X = GUICtrlCreateInput($Verbindung2X, 138, 270, 280, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $InputIp2X = GUICtrlCreateInput($IpAdresse2X, 140, 297, 280, 21)
    $InputVerbindung3X = GUICtrlCreateInput($Verbindung3X, 140, 332, 280, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $InputIp3X = GUICtrlCreateInput($IpAdresse3X, 140, 357, 280, 21)
    $InputVerbindung4X = GUICtrlCreateInput($Verbindung4X, 140, 392, 280, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $InputIp4X = GUICtrlCreateInput($IpAdresse4X, 140, 417, 280, 21)
    $ButtonAbbrechen = GUICtrlCreateButton("Abbrechen", 140, 453, 100, 25, 0)
    $ButtonUebernehmen = GUICtrlCreateButton("Übernehmen", 322, 453, 100, 25, 0)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW,$FormNetzwerkverbindungen)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Select

    Case $nMsg = $ButtonUebernehmen

    $IpAdresseOnboard = GUICtrlRead ($InputIpOnboard)
    $IpAdresse1X = GUICtrlRead ($InputIp1X)
    $IpAdresse2X = GUICtrlRead ($InputIp2X)
    $IpAdresse3X = GUICtrlRead ($InputIp3X)
    $IpAdresse4X = GUICtrlRead ($InputIp4X)

    MsgBox(0,"IP Nr. :",'interface ip set address name = "'&$VerbindungOnboard&'"' & " source=static addr="& $IpAdresseOnboard & " mask= " & $Mask & " gateway=" & $Gateway & " gwmetric=1")
    if StringInStr($IpAdresseOnboard, "x") = 0 Then _ ;Wenn kein X in IpAdresseOnboard vorhanden ist
    Run('netsh interface ip set address name = "'&$VerbindungOnboard&'"' & " source=static addr="& $IpAdresseOnboard & " mask= " & $Mask & " gateway=" & $Gateway & " gwmetric=1" )
    ProcessWaitClose ( "netsh.exe" ) ; Wartet bis Netsh wieder beendet wurde

    if StringInStr($IpAdresse1X, "x") = 0 Then _ ;Wenn kein X in IpAdresse1X vorhanden ist
    Run('netsh interface ip set address name = "'&$Verbindung1X&'"' & " source=static addr="& $IpAdresse1X & " mask= " & $Mask & " gateway=" & $Gateway & " gwmetric=1" )
    ProcessWaitClose ( "netsh.exe" ) ; Wartet bis Netsh wieder beendet wurde

    if StringInStr($IpAdresse2X, "x") = 0 Then _ ;Wenn kein X in IpAdresse2X vorhanden ist
    Run('netsh interface ip set address name = "'&$Verbindung2X&'"' & " source=static addr="& $IpAdresse2X & " mask= " & $Mask & " gateway=" & $Gateway & " gwmetric=1" )
    ProcessWaitClose ( "netsh.exe" ) ; Wartet bis Netsh wieder beendet wurde

    if StringInStr($IpAdresse3X, "x") = 0 Then _ ;Wenn kein X in IpAdresse3X vorhanden ist
    Run('netsh interface ip set address name = "'&$Verbindung3X&'"' & " source=static addr="& $IpAdresse3X & " mask= " & $Mask & " gateway=" & $Gateway & " gwmetric=1" )
    ProcessWaitClose ( "netsh.exe" ) ; Wartet bis Netsh wieder beendet wurde

    if StringInStr($IpAdresse4X, "x") = 0 Then _ ;Wenn kein X in IpAdresse4X vorhanden ist
    Run('netsh interface ip set address name = "'&$Verbindung4X&'"' & " source=static addr="& $IpAdresse4X & " mask= " & $Mask & " gateway=" & $Gateway & " gwmetric=1" )
    ProcessWaitClose ( "netsh.exe" ) ; Wartet bis Netsh wieder beendet wurde

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ExitLoop

    Case $nMsg = $GUI_EVENT_CLOSE ; Schließen (x) gedrückt

    ExitLoop

    [/autoit] [autoit][/autoit] [autoit]

    Case $nMsg = $ButtonAbbrechen

    [/autoit] [autoit][/autoit] [autoit]

    ExitLoop

    EndSelect
    WEnd
    GUISetState(@SW_HIDE,$FormNetzwerkverbindungen)

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func Computername($Maschiene,$Nr)

    Run("control.exe sysdm.cpl,,1") ;Startet Systemeinstellungen die 1 besagt welcher Reiter geöffnet werden soll, in diesem Fall Computer Name
    ;$error = ProcessWait("rundll32.exe",20000) ;wartet bis zu 20sek bis Einstellungen geöffnet
    ;if $error = 0 then MsgBox(1,"Error","Zeitüberschreitung beim Starten der Systemeinstellungen")
    sleep(1000)
    ControlClick ( "System Properties", "", 115 ); 115 ist control ID des change Buttons
    sleep(1000)
    ControlSetText ( "Computer Name Changes", "", 1002, "EQ" & $Equipmentnr) ;
    sleep(1000)
    ControlCommand("Computer Name Changes","",1004,"Check","") ; Setz den Radiobutton Workgroup auf Check (gesetzt)
    sleep(1000)
    ControlSetText ( "Computer Name Changes", "", 1007, "WORKGROUP") ;
    sleep(1000)
    ControlClick ( "Computer Name Changes", "", 1 ); 1 ist control ID des Ok Buttons
    sleep(1000)
    ControlClick ( "Computer Name Changes", "", 2 ); 2 ist control ID des Ok Buttons des Popup windows
    sleep(1000)
    ;MsgBox(1,"","EQ" & $Equipmentnr)
    ControlSetText ( "System Properties", "", 122, "EQ" & $Equipmentnr);
    sleep(1000)
    ControlClick ( "System Properties", "", 1 ); 1 ist control ID des Ok Buttons
    sleep(1000)
    ControlClick ( "Computer Settings Change", "", 7 ); 7 ist control ID des No Buttons, Auf die Frage nach dem Restart
    sleep(1000)

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func Netzwerkverbindung($a) ; Gibt die gefundene Netzwerkverbindung zurück deren Name den angegebenen String enthält.

    Dim $Verbindung[10] ;Dimensioniert ein Array für die gefundennen Verbindungen
    $objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\.\root\microsoft\homenet")
    $colItems = $objWMIService.ExecQuery("Select * from HNet_Connection")
    $i = 0
    For $objItem In $colItems
    $Verbindung[$i] = $objItem.Name ; Speichert jedes mal wenn eine Netzwerkverbindung gefunden wird den Namen dieser in den Array
    $i = $i + 1
    ;MsgBox(1,"",$i)
    Next

    $gefundenneVerbindung ="" ; $gefundenneVerbindung wird als leerer String deklariert
    For $j = 0 to $i-1 Step 1
    if StringInStr($Verbindung[$j], $a) <> 0 then $gefundenneVerbindung = $Verbindung[$j] ; Durchsucht die Namen der Verbindungen des Array´s ob sie die gewünschte zeichenkette enthalten
    next

    Return $gefundenneVerbindung ;gibt die gefundene Verbindung zurück

    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
  • [autoit]


    Opt("GUIOnEventMode", 1)

    [/autoit][autoit][/autoit][autoit]

    $Checkbox4 = GUICtrlCreateCheckbox("update Window-List every", 280, 125, 142)
    GUICtrlSetState($Checkbox4, IniRead($ini, "Settings", "update Window List", "4"))
    GUICtrlSetOnEvent($Checkbox4, "_EnableUpdate")

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Func _EnableUpdate()
    If GUICtrlRead($Checkbox4) = 1 Then
    GUICtrlSetState($Input1, $GUI_ENABLE)
    Else
    GUICtrlSetState($Input1, $GUI_DISABLE)
    EndIf
    EndFunc

    [/autoit]
  • Hallo,

    ich hab Dir mal ein Beispiel gebaut:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode", 1)

    [/autoit] [autoit][/autoit] [autoit]

    Dim $tate = $GUI_ENABLE, $ini

    [/autoit] [autoit][/autoit] [autoit]

    GUICreate("Enable-Switch", 300, 200)
    GUISetOnEvent($GUI_EVENT_CLOSE, '_quit')
    $Checkbox4 = GUICtrlCreateCheckbox("update Window-List every", 100, 125, 142)
    $InputVerbindungOnboard = GUICtrlCreateInput("", 10, 152, 280, 21)
    GUICtrlSetState($Checkbox4, IniRead($ini, "Settings", "update Window List", "4"))
    GUICtrlSetOnEvent($Checkbox4, "_EnableUpdate")

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(1000)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _quit()
    Exit
    EndFunc ;==>_quit

    [/autoit] [autoit][/autoit] [autoit]

    Func _EnableUpdate()
    $tate = BitXOR($tate, $GUI_ENABLE, $GUI_DISABLE)
    GUICtrlSetState($InputVerbindungOnboard, $tate)
    GUICtrlSetState($Input1, $tate)
    ; [...]

    [/autoit] [autoit][/autoit] [autoit]

    ; [...]
    GUICtrlSetState($Input9, $tate)
    EndFunc ;==>_EnableUpdate
    ; ENDE

    [/autoit]


    Viel Erfolg ! ;)

  • Funktioniert soweit danke erst mal dafür
    Wie mach ich das aber wenn ich mehrere Inputboxen und mehrere checkboxen hab?

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode", 1)
    Global $tate = $GUI_DISABLE, $ini

    [/autoit] [autoit][/autoit] [autoit]

    Global $InputVerbindungOnboard = GUICtrlCreateInput($VerbindungOnboard, 140, 152, 280, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetState($CheckboxOnboard, IniRead($ini, "Settings", "update Window List", "4"))
    GUICtrlSetOnEvent($CheckboxOnboard, "_EnableUpdate")
    $InputIpOnboard = GUICtrlCreateInput($IpAdresseOnboard, 140, 177, 280, 21)

    [/autoit] [autoit][/autoit] [autoit]

    Global $InputVerbindung1X = GUICtrlCreateInput($Verbindung1X, 140, 212, 280, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetState($Checkbox1, IniRead($ini, "Settings", "update Window List", "4"))
    GUICtrlSetOnEvent($Checkbox1, "_EnableUpdate")
    $InputIp1X = GUICtrlCreateInput($IpAdresse1X, 140, 237, 280, 21)

    [/autoit] [autoit][/autoit] [autoit]

    Global $InputVerbindung2X = GUICtrlCreateInput($Verbindung2X, 138, 270, 280, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetState($Checkbox2, IniRead($ini, "Settings", "update Window List", "4"))
    GUICtrlSetOnEvent($Checkbox2, "_EnableUpdate")
    $InputIp2X = GUICtrlCreateInput($IpAdresse2X, 140, 297, 280, 21)

    [/autoit] [autoit][/autoit] [autoit]

    Global $InputVerbindung3X = GUICtrlCreateInput($Verbindung3X, 140, 332, 280, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetState($Checkbox3, IniRead($ini, "Settings", "update Window List", "4"))
    GUICtrlSetOnEvent($Checkbox3, "_EnableUpdate")
    $InputIp3X = GUICtrlCreateInput($IpAdresse3X, 140, 357, 280, 21)

    [/autoit] [autoit][/autoit] [autoit]

    Global $InputVerbindung4X = GUICtrlCreateInput($Verbindung4X, 140, 392, 280, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetState($Checkbox4, IniRead($ini, "Settings", "update Window List", "4"))
    GUICtrlSetOnEvent($Checkbox4, "_EnableUpdate")
    $InputIp4X = GUICtrlCreateInput($IpAdresse4X, 140, 417, 280, 21)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _EnableUpdate()
    $tate = BitXOR($tate, $GUI_ENABLE, $GUI_DISABLE)
    GUICtrlSetState($InputVerbindungOnboard, $tate)
    EndFunc ;==>_EnableUpdate

    [/autoit]


    Hab versucht der Funktion _EnableUpdate eine Variable zu übergeben, funktionierte aber leider nicht. Es kam immer die Meldund Unknown Funktion Name
    Hier der Code mit Variablenübergabe

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode", 1)
    Global $tate = $GUI_DISABLE, $ini

    [/autoit] [autoit][/autoit] [autoit]

    Global $InputVerbindungOnboard = GUICtrlCreateInput($VerbindungOnboard, 140, 152, 280, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetState($CheckboxOnboard, IniRead($ini, "Settings", "update Window List", "4"))
    GUICtrlSetOnEvent($CheckboxOnboard, "_EnableUpdate($InputVerbindungOnboard )")
    $InputIpOnboard = GUICtrlCreateInput($IpAdresseOnboard, 140, 177, 280, 21)

    [/autoit] [autoit][/autoit] [autoit]

    Global $InputVerbindung1X = GUICtrlCreateInput($Verbindung1X, 140, 212, 280, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetState($Checkbox1, IniRead($ini, "Settings", "update Window List", "4"))
    GUICtrlSetOnEvent($Checkbox1, "_EnableUpdate($InputVerbindung1X) ")
    $InputIp1X = GUICtrlCreateInput($IpAdresse1X, 140, 237, 280, 21)

    [/autoit] [autoit][/autoit] [autoit]

    Global $InputVerbindung2X = GUICtrlCreateInput($Verbindung2X, 138, 270, 280, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetState($Checkbox2, IniRead($ini, "Settings", "update Window List", "4"))
    GUICtrlSetOnEvent($Checkbox2, "_EnableUpdate($InputVerbindung2X )")
    $InputIp2X = GUICtrlCreateInput($IpAdresse2X, 140, 297, 280, 21)

    [/autoit] [autoit][/autoit] [autoit]

    Global $InputVerbindung3X = GUICtrlCreateInput($Verbindung3X, 140, 332, 280, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetState($Checkbox3, IniRead($ini, "Settings", "update Window List", "4"))
    GUICtrlSetOnEvent($Checkbox3, "_EnableUpdate($InputVerbindung3X )")
    $InputIp3X = GUICtrlCreateInput($IpAdresse3X, 140, 357, 280, 21)

    [/autoit] [autoit][/autoit] [autoit]

    Global $InputVerbindung4X = GUICtrlCreateInput($Verbindung4X, 140, 392, 280, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetState($Checkbox4, IniRead($ini, "Settings", "update Window List", "4"))
    GUICtrlSetOnEvent($Checkbox4, "_EnableUpdate($InputVerbindung4X)")
    $InputIp4X = GUICtrlCreateInput($IpAdresse4X, 140, 417, 280, 21)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _EnableUpdate($Input)
    $tate = BitXOR($tate, $GUI_ENABLE, $GUI_DISABLE)
    GUICtrlSetState($Input, $tate)
    EndFunc ;==>_EnableUpdate

    [/autoit]