GUI Schaltflächen (Buttons) Funktionen zuweisen

  • Abend,
    ich setze mich seit heute mit AutoIT auseinander und bin eben auf ein Problem gestoßen, bei dem ich nicht weiterkomme. Ich habe ein GUI erstellt mit einigen Buttons. Jedoch weiß ich nicht wie ich diesen wenn sie gedrückt werden Funktionen zuweise. Vielleicht kann mir jemand helfen :)

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------
    AutoIt Version: 3.3.6.1 Author: Christopher Fischer
    Script Function: ModTool
    #ce ----------------------------------------------------------------------------

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

    #include #include #include #include #include #include
    #include #include #include #include #include #include
    #Region ### START Koda GUI section ### Form=C:\autoit\modtool.kxf$Form2 = GUICreate("Tabbed Notebook Dialog", 746, 408, 219, 148)GUISetIcon("D:\005.ico")$PageControl1 = GUICtrlCreateTab(8, 0, 732, 296)GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)$TabSheet1 = GUICtrlCreateTabItem("Neuigkeiten")$Testnews = GUICtrlCreateEdit("", 8, 24, 489, 273)GUICtrlSetData(-1, StringFormat("fghfghfghfghfghfghfghfgh\r\nfghfghfgh\r\nfgh\r\nfgh\r\nfgh\r\nfg\r\nhf\r\nghfg\r\n"))GUICtrlSetFont(-1, 8, 400, 0, "Arial")$Pic1 = GUICtrlCreatePic("C:\Users\Fischer\Desktop\test.jpg", 168, 40, 100, 100, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))$TabSheet2 = GUICtrlCreateTabItem("Vorhandene Mods")GUICtrlSetState(-1,$GUI_SHOW)$Modliste = GUICtrlCreateEdit("", 16, 24, 473, 265)GUICtrlSetData(-1, StringFormat("Mod1 Bild\r\nMod2 Bild\r\nusw...\r\n\r\n\r\n\r\n\r\ndfd\r\nd\r\nf\r\ndf\r\nd\r\nfd"))GUICtrlSetFont(-1, 8, 400, 0, "Arial")$Button4 = GUICtrlCreateButton("Ausgewählten Mod installieren", 520, 40, 195, 25, 0)GUICtrlSetFont(-1, 8, 400, 0, "Arial")$TabSheet3 = GUICtrlCreateTabItem("Installierte Mods")$Modliste2 = GUICtrlCreateEdit("", 16, 24, 473, 265)GUICtrlSetData(-1, StringFormat("Mod1 Bild\r\nMod2 Bild\r\nusw...\r\n\r\n\r\n\r\n\r\ndfd\r\nd\r\nf\r\ndf\r\nd\r\nfd"))GUICtrlSetFont(-1, 8, 400, 0, "Arial")$Button5 = GUICtrlCreateButton("Ausgewählten Mod deinstallieren", 520, 40, 195, 25, 0)GUICtrlSetFont(-1, 8, 400, 0, "Arial")GUICtrlCreateTabItem("")$Button1 = GUICtrlCreateButton("Aktualisieren", 94, 344, 75, 25, 0)$Button2 = GUICtrlCreateButton("Schließen", 222, 344, 75, 25, 0)$Button3 = GUICtrlCreateButton("&Help", 344, 344, 75, 25, 0)GUISetState(@SW_SHOW)#EndRegion ### END Koda GUI section ###
    While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit
    EndSwitchWEnd

    [/autoit]


    Die Taste "Schließen" soll das Programm beenden.

    Einmal editiert, zuletzt von Fischer (18. Juli 2011 um 00:54)

  • der Anfang mit den Includes sollte zuerstmal so aussehen:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>

    [/autoit]


    Immer jede Include in eine Zeile - bei den restlichen Befehlen genauso verfahren
    Und hier ein Beispielscript zu deiner Frage:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("test", 625, 443, 328, 159)
    $Button1 = GUICtrlCreateButton("Schließen", 8, 8, 97, 41, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("Bsp.", 128, 8, 89, 41, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    Exit
    Case $Button2
    MsgBox (0,"Test","Test")
    EndSwitch
    WEnd

    [/autoit]


    Tipp: Lese dir mal ein paar Tutorials durch.

  • Hallo,
    erst mal die Formatierung deines Scriptes richtig gestellt ;)

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------
    AutoIt Version: 3.3.6.1 Author: Christopher Fischer
    Script Function: ModTool
    #ce ----------------------------------------------------------------------------

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

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=C:\autoit\modtool.kxf$Form2 =
    GUICreate("Tabbed Notebook Dialog", 746, 408, 219, 148)
    GUISetIcon("D:\005.ico")
    $PageControl1 = GUICtrlCreateTab(8, 0, 732, 296)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $TabSheet1 = GUICtrlCreateTabItem("Neuigkeiten")
    $Testnews = GUICtrlCreateEdit("", 8, 24, 489, 273)
    GUICtrlSetData(-1, StringFormat("fghfghfghfghfghfghfghfgh\r\nfghfghfgh\r\nfgh\r\nfgh\r\nfgh\r\nfg\r\nhf\r\nghfg\r\n"))
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $Pic1 = GUICtrlCreatePic("C:\Users\Fischer\Desktop\test.jpg", 168, 40, 100, 100, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $TabSheet2 = GUICtrlCreateTabItem("Vorhandene Mods")
    GUICtrlSetState(-1,$GUI_SHOW)
    $Modliste = GUICtrlCreateEdit("", 16, 24, 473, 265)
    GUICtrlSetData(-1, StringFormat("Mod1 Bild\r\nMod2 Bild\r\nusw...\r\n\r\n\r\n\r\n\r\ndfd\r\nd\r\nf\r\ndf\r\nd\r\nfd"))
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $Button4 = GUICtrlCreateButton("Ausgewählten Mod installieren", 520, 40, 195, 25, 0)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $TabSheet3 = GUICtrlCreateTabItem("Installierte Mods")
    $Modliste2 = GUICtrlCreateEdit("", 16, 24, 473, 265)
    GUICtrlSetData(-1, StringFormat("Mod1 Bild\r\nMod2 Bild\r\nusw...\r\n\r\n\r\n\r\n\r\ndfd\r\nd\r\nf\r\ndf\r\nd\r\nfd"))
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $Button5 = GUICtrlCreateButton("Ausgewählten Mod deinstallieren", 520, 40, 195, 25, 0)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    GUICtrlCreateTabItem("")
    $Button1 = GUICtrlCreateButton("Aktualisieren", 94, 344, 75, 25, 0)
    $Button2 = GUICtrlCreateButton("Schließen", 222, 344, 75, 25, 0)
    $Button3 = GUICtrlCreateButton("&Help", 344, 344, 75, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

    [/autoit]


    und wenn du eigene funktionen aufrufen möchtest, geht das so:

    Spoiler anzeigen
    [autoit]

    ...
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $button
    eigene_funktion()
    EndSwitch
    WEnd
    Func eigene_funktion()
    MsgBox(0, "Eigene Funktion", "Die eigene Funktion wurde aufgerufen")
    Exit
    EndFunc

    [/autoit]


    ansonsten für den Anfang, sehr gutes Script :thumbup: .

    Wenn noch Fragen etc. sind, einfach stellen :).

    mfg
    hauke96

  • dankeschön euch beiden, klappt.
    achtet nicht auf die formatierung. der spoiler hat die irgendwie zerstört, bei mir im editor sieht es richtig aus.
    wie gesagt, es funktioniert, dickes danke!