Dynamische Anzahl an Buttons abfragen

  • Hallo,

    ich versuche gerade eine GUI im OnEventModus 1 zu programmieren, wo die Anzahl der abzufragenden Buttons von diversen Eingabemöglichkeiten abhängt. Nun komme ich nicht mehr weiter und brauche eure Hilfe.

    Also:

    Ich habe n Ebenen und in jeder Ebene ein Button.

    Wenn ich den Button deklariere, dann ist die Ebene für diesen Button bekannt.

    Im OnEventModus müsste ich jetzt für jeden Button in jeder Ebene eine Func Deklarieren.

    Das kann/will ich aber nicht machen, weil es einfach zu viele Ebenen sind. (z.B. 40)

    Kann ich also für alle dynamischen Buttons nur eine gleiche Func deklarieren, in der ich versuche rauszukriegen, welcher der vielen dynamischen Buttons gedrückt wurde?

    Ich hoffe, das ist nicht zu dämlich beschrieben. Beispielcode kann ich leider keinen senden, weil viel zu groß - ausserdem tun viele Sachen noch nicht...

    Vielen Dank.

    Einmal editiert, zuletzt von dost0011 (6. Oktober 2010 um 20:28)

  • Abend,

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    Opt("GUIOnEventMode",1)

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

    Global $cButton[3]

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

    GUICreate("Test",100,200)
    GUISetOnEvent($GUI_EVENT_CLOSE,"_Exit")
    $cButton[0] = GUICtrlCreateButton("Button 1",20,20)
    GUICtrlSetOnEvent(-1,"_EventHandler")
    $cButton[1] = GUICtrlCreateButton("Button 2",20,60)
    GUICtrlSetOnEvent(-1,"_EventHandler")
    $cButton[2] = GUICtrlCreateButton("Button 3",20,100)
    GUICtrlSetOnEvent(-1,"_EventHandler")
    GUISetState()

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

    While 1
    Sleep(100)
    WEnd

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

    Func _EventHandler()
    Switch @GUI_CtrlId
    Case $cButton[0]
    MsgBox(0,"","Button 1 gedrückt")
    Case $cButton[1]
    MsgBox(0,"","Button 2 gedrückt")
    Case $cButton[2]
    MsgBox(0,"","Button 3 gedrückt")
    EndSwitch
    EndFunc

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

    Func _Exit()
    Exit
    EndFunc

    [/autoit]

    Lg, Fabian