GUICtrlSetOnEvent mit Pararmetern???

  • Hiho kann man eigentlich keine Pararmeter bei GUICtrlSetOnEvent benutzen??? also so

    [autoit]

    GUICtrlSetOnEvent($button, "function(pararmeter1, pararmeter2)")

    [/autoit]

    usw????
    geht das nicht oder muss man es nur anders schreiben? ich habs halt bisher immer mit 2 funktionen gemacht is aber aufwendig :(

    [autoit]

    GUICtrlSetOnEvent($button, "function1")
    Func function1()
    function2(pararmeter1, pararmeter2)
    EndFunc

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

    Func function2(....)
    .....
    Endfunc

    [/autoit]

    Bzw. wie auch in der Hilfe beschrieben:

    [autoit]

    GUICtrlSetOnEvent($button, "function1")
    Func function1()
    If @GUICtrlID = $button Then
    BLA
    Endif
    EndFunc

    [/autoit]

    THX @ ALL

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • hi,

    stehe vor der gleichen Aufgabe.
    Die Frage ist fuer mich leider nicht geklaert... :(

    @Aspirin Junkie
    Deine Antwort raffe ich nicht.
    Ob die Variable nun Global ist oder nicht hat aber keinen Einfluss.
    Ich will ja nur direkt einen Parameter mitgeben...

    [autoit]


    GUICtrlSetOnEvent($findpath2, "PATH2(TEST)")

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

    Func PATH2($MSG)
    MsgBox(0, "TEST", $MSG )
    EndFunc

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

    CAT

  • Ja danke,

    habe mich dazu nochmal belesen und bin nun auf die Switch Case Variante gegangen, weil ich dann in der GUI alles Knoepfe mit dem gleichen Befehl aufrufen kann.
    Die Loesung hier ist tatsaechlich @GUICtrlID, ist nur ein bisschen ungluecklich dargestellt. Habe in einigen anderen Threads dann meine eigene Loesung erarbeitet.
    Hier mal die KurzVariante:

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

    ;Setzen der Elemente
    $findpath1 = GUICtrlCreateButton( "Durchsuchen", 620, 50, 100, 20)
    $findpath2 = GUICtrlCreateButton( "Durchsuchen", 620, 80, 100, 20)
    $findpath3 = GUICtrlCreateButton( "Durchsuchen", 620, 110, 100, 20)
    $findpath4 = GUICtrlCreateButton( "Durchsuchen", 620, 140, 100, 20)
    $findpath5 = GUICtrlCreateButton( "Durchsuchen", 620, 170, 100, 20)
    $findpath6 = GUICtrlCreateButton( "Durchsuchen", 620, 200, 100, 20)
    $findpath7 = GUICtrlCreateButton( "Durchsuchen", 620, 230, 100, 20)
    $findpath8 = GUICtrlCreateButton( "Durchsuchen", 620, 260, 100, 20)
    $findpath9 = GUICtrlCreateButton( "Durchsuchen", 620, 290, 100, 20)
    $findpath10 = GUICtrlCreateButton( "Durchsuchen", 620, 320, 100, 20)

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

    ; Auf Durchsuchen klicken in Funktion umsetzen
    GUICtrlSetOnEvent($findpath1, "FINDCLICK")
    GUICtrlSetOnEvent($findpath2, "FINDCLICK")
    GUICtrlSetOnEvent($findpath3, "FINDCLICK")
    GUICtrlSetOnEvent($findpath4, "FINDCLICK")
    GUICtrlSetOnEvent($findpath5, "FINDCLICK")
    GUICtrlSetOnEvent($findpath6, "FINDCLICK")
    GUICtrlSetOnEvent($findpath7, "FINDCLICK")
    GUICtrlSetOnEvent($findpath8, "FINDCLICK")
    GUICtrlSetOnEvent($findpath9, "FINDCLICK")
    GUICtrlSetOnEvent($findpath10, "FINDCLICK")

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

    ; Welche Pfad Taste gedruckt wurde und die Uebergabe an die Funktion mit Parameter
    Func FINDCLICK()
    Switch @GUI_CtrlId
    Case $findpath1
    PATHCONTROL( $path1)
    Case $findpath2
    PATHCONTROL( $path2)
    Case $findpath3
    PATHCONTROL( $path3)
    Case $findpath4
    PATHCONTROL( $path4)
    Case $findpath5
    PATHCONTROL( $path5)
    Case $findpath6
    PATHCONTROL( $path6)
    Case $findpath7
    PATHCONTROL( $path7)
    Case $findpath8
    PATHCONTROL( $path8)
    Case $findpath9
    PATHCONTROL( $path9)
    Case $findpath10
    PATHCONTROL( $path10)
    EndSwitch
    EndFunc

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

    Kann man bestimmt noch vereinfachen, ,mit Array etc.
    Ich habe mich fuer die Switch Variante entschieden, da diese schneller sein soll als If...Then


    CAT