Menü Problem

  • Warum geht hier weder Ende noch Einstellungen? oO


    Spoiler anzeigen
    [autoit]

    #cs
    Titel: Stämme Timing Programm (1280x1024)
    Autor: S. Schwaiger aka. Stuuuven
    Datum: 04.03.09
    -----------------------------------------
    Beschreibung:
    Ver. 1.01: 4Ag's getimt innerhalb 0,4sec
    #ce

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

    #Region Include
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <String.au3>
    #include <DATE.au3>
    #EndRegion

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

    opt ("GUIOnEventMode", 1)

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

    #Region GUI
    $guiCPL = GUICreate("Stämme Timing Tool - BETA", 800, 700, -1, -1)
    GUISetOnEvent($GUI_EVENT_CLOSE, "guiCPLClose")
    $MonthCal1 = GUICtrlCreateMonthCal("2009/"&@MON&"/"&@MDAY, 570, 59, 170, 161)
    $start = GUICtrlCreateButton (" Ag's los ", 30, 500, 150, 150)
    GUICtrlSetFont ($start, 20)
    GUICtrlSetOnEvent ($start, "goag")
    GUISetState(@SW_SHOW, $guiCPL)
    GUICtrlCreateLabel (" Ver. 1.01 ", 744, 664)
    Guictrlcreatelabel (" © Stuuuven-Productions ", 6, 664)
    $sync = GUICtrlCreateButton ("Aktualisieren", 690, 19)
    GUICtrlSetOnEvent ($sync, "_sync")
    $uhr=GUICtrlCreateLabel("--:--:--", 575, 17, 100, 40)
    GUICtrlSetFont ($uhr, 20)
    AdLibEnable("_clockRefresh")

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

    ;Menüs ======================================================
    $Menu1 = GUICtrlCreateMenu("Projekte")
    $M1_item1 = GUICtrlCreateMenuItem("Öffnen", $Menu1)
    $M1_item2 = GUICtrlCreateMenuItem("Speichern", $Menu1)
    $M1_item3 = GUICtrlCreateMenuItem("Ende", $Menu1)

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

    $Menu2 = GUICtrlCreateMenu("Optionen")
    $M2_item1 = GUICtrlCreateMenuItem("Einstellungen", $Menu2)
    ;=============================================================

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

    ;Felder ======================================================
    $Group1 = GUICtrlCreateGroup(" Cleaner ", 30, 60, 90, 90)
    $Group2 = GUICtrlCreateGroup(" 1 AG ", 30, 240, 90, 90)
    $Group3 = GUICtrlCreateGroup(" 2 AG ", 220, 240, 90, 90)
    $Group4 = GUICtrlCreateGroup(" 3 AG ", 410, 240, 90, 90)
    $Group5 = GUICtrlCreateGroup(" 4 AG ", 600, 240, 90, 90)
    ;=============================================================
    #EndRegion GUI

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $M1_item3
    MsgBox(0,"a","a")

    #Region Menü
    Case $M1_item1
    open()
    Case $M1_item2
    save()
    case $M1_item3
    off2()
    Case $M2_item1
    settings()
    #EndRegion Menü

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

    EndSwitch
    WEnd

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

    While (1)
    Sleep (100)
    WEnd

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

    ;DUMMY FUNCS==================================
    Func save()
    EndFunc

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

    Func open()
    EndFunc

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

    ;================================================

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

    Func settings()
    $sett = GUICreate (" Einstellungen", 150, 150, -1, -1)
    $check1 = GUICtrlCreateCheckbox (" 1280x1024 ", 4, 10)
    $check2 = GUICtrlCreateCheckbox (" 1600x1200 ", 4, 30)
    $check3 = GUICtrlCreateCheckbox (" 800x600 ", 4, 50)
    $Button = GUICtrlCreateButton("Installieren", 4, 75)

    While 1
    $msg = GUIGetMsg()

    If $msg = $Button Then
    $aufl1= GUICtrlRead($check1)
    $aufl2= GUICtrlRead($check2)
    $aufl3= GUICtrlRead($check3)

    aufloesung_1($aufl1)
    aufloesung_2($aufl2)
    aufloesung_3($aufl3)
    EndIf

    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd
    GUISetState(@SW_SHOW, $sett)
    EndFunc

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

    Func _sync()
    InetGet("http://www.uhrzeit.org/atomuhr.html","Uhrzeit.html",1)
    $openfile = FileOpen("Uhrzeit.html",0)
    $read_1 = FileRead($openfile)
    FileClose($openfile)
    FileDelete("Uhrzeit.html")
    $gettime = _StringBetween($read_1,'<div id="anzeige">','</div>')
    ;~ GUICtrlSetData($Label1,$gettime[0])

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

    $time = $gettime[0]

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

    $newtime = StringSplit($time,":")

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

    _SetTime($newtime[1],$newtime[2],$newtime[3])

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

    FileDelete("Uhrzeit.html")
    EndFunc

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

    Func _clockrefresh()
    GUICtrlSetData($uhr,@HOUR & ":" & @MIN & ":" & @SEC)
    EndFunc ;===> Uhrzeitrefresh

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

    Func guiCPLClose()
    Exit
    EndFunc ;===> Close

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

    Func goag()
    GUISetState (@SW_HIDE, $guiCPL)
    MouseClick ("left", 315, 414,1,0)
    MouseClick ("left", 507, 414,1,0)
    MouseClick ("left", 695, 414,1,0)
    MouseClick ("left", 886, 414,1,0)
    Sleep (1000)
    GUISetState (@SW_SHOW, $guiCPL)
    $close = GUICtrlCreateButton ("Schließen", 700, 600, 70, 40)
    GUICtrlSetOnEvent ($close, "off")
    EndFunc ;===> Ag's!

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

    Func off()
    Exit
    EndFunc ;===> Close

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

    Func off2()
    Exit
    EndFunc

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

    ;2nd Dummy=================================
    Func aufloesung_1($aufl1)
    EndFunc

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

    Func aufloesung_2($aufl2)
    EndFunc

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

    Func aufloesung_3($aufl3)
    EndFunc
    ;===========================================

    [/autoit]
  • Danke...doch wenn ich nun NUR die Einstellungen zu amchen will...un des rote X klick geht die GESAMTE gui zu...wie verhinder ich des?

  • Ok...des mit messageloop oder Set on event raff ich net was da anders muss...bitte schreib mal so dass ich alles set on event lassen kann! :)
    BITTÖÖÖÖ xD

  • Ach komm
    Schau doch einfach in der Hilfe nach, da wird alles sehr gut erklärt
    ein Beispiel für dich:

    Spoiler anzeigen
    [autoit]


    ;code
    $M1_item1 = GUICtrlCreateMenuItem("Öffnen", $Menu1)
    GuiCtrlSetOnEvent(-1, "open")
    ;code

    [/autoit]


    Muss reichen

    Padmak

  • So...Einstellungen geht auf und der Rest auch aber...wenn ich in Einstellungen 1 Aulösung anklicke und dann auswählen klicke geht keine msgbox auf! :(
    Wieso?


    Spoiler anzeigen
    [autoit]

    #cs
    Titel: Stämme Timing Programm (1280x1024)
    Autor: S. Schwaiger aka. Stuuuven
    Datum: 04.03.09
    -----------------------------------------
    Beschreibung:
    Ver. 1.01: 4Ag's getimt innerhalb 0,4sec
    #ce

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

    #Region Include
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <String.au3>
    #include <DATE.au3>
    #EndRegion

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

    opt ("GUIOnEventMode", 1)

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

    #Region GUI
    $guiCPL = GUICreate("Stämme Timing Tool - BETA", 800, 700, -1, -1)
    GUISetOnEvent($GUI_EVENT_CLOSE, "guiCPLClose")
    $MonthCal1 = GUICtrlCreateMonthCal("2009/"&@MON&"/"&@MDAY, 570, 59, 170, 161)
    $start = GUICtrlCreateButton (" Ag's los ", 30, 500, 150, 150)
    GUICtrlSetFont ($start, 20)
    GUICtrlSetOnEvent ($start, "goag")
    GUISetState(@SW_SHOW, $guiCPL)
    GUICtrlCreateLabel (" Ver. 1.01 ", 744, 664)
    Guictrlcreatelabel (" © Stuuuven-Productions ", 6, 664)
    $sync = GUICtrlCreateButton ("Aktualisieren", 690, 19)
    GUICtrlSetOnEvent ($sync, "_sync")
    $uhr=GUICtrlCreateLabel("--:--:--", 575, 17, 100, 40)
    GUICtrlSetFont ($uhr, 20)
    AdLibEnable("_clockRefresh")

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

    ;Menüs ======================================================
    $Menu1 = GUICtrlCreateMenu("Projekte")

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

    $M1_item1 = GUICtrlCreateMenuItem("Öffnen", $Menu1)
    $M1_item2 = GUICtrlCreateMenuItem("Speichern", $Menu1)
    $M1_item3 = GUICtrlCreateMenuItem("Schließen", $Menu1)
    Guictrlsetonevent ($M1_item1, "_open")
    Guictrlsetonevent ($M1_item2, "_save")
    Guictrlsetonevent ($M1_item3, "_exit")

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

    $Menu2 = GUICtrlCreateMenu("Optionen")
    $M2_item1 = GUICtrlCreateMenuItem("Einstellungen", $Menu2)
    Guictrlsetonevent ($M2_item1, "_sett")
    ;=============================================================

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

    ;Felder ======================================================
    $Group1 = GUICtrlCreateGroup(" Cleaner ", 30, 60, 90, 90)
    $Group2 = GUICtrlCreateGroup(" 1 AG ", 30, 240, 90, 90)
    $Group3 = GUICtrlCreateGroup(" 2 AG ", 220, 240, 90, 90)
    $Group4 = GUICtrlCreateGroup(" 3 AG ", 410, 240, 90, 90)
    $Group5 = GUICtrlCreateGroup(" 4 AG ", 600, 240, 90, 90)
    ;=============================================================
    #EndRegion GUI

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

    While (1)
    Sleep (100)
    WEnd

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

    ;DUMMY FUNCS==================================
    Func save()
    EndFunc

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

    Func open()
    EndFunc

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

    Func _open()
    EndFunc

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

    Func _save()
    EndFunc

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

    ;================================================

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

    Func _sett()
    $sett = GUICreate (" Einstellungen", 150, 150, -1, -1)
    GUICtrlSetState (@SW_HIDE, $guiCPL)
    GUISetState(@SW_SHOW, $sett)
    $check1 = GUICtrlCreateRadio (" 1280x1024 ", 4, 10)
    $check2 = GUICtrlCreateRadio (" 1600x1200 ", 4, 30)
    $check3 = GUICtrlCreateRadio (" 800x600 ", 4, 50)
    $Button = GUICtrlCreateButton("Auswählen", 4, 75)

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


    While 1
    $msg = GUIGetMsg()

    If $msg = $Button Then
    $aufl1= GUICtrlRead($check1)
    $aufl2= GUICtrlRead($check2)
    $aufl3= GUICtrlRead($check3)

    aufl_1($aufl1)
    aufl_2($aufl2)
    aufl_3($aufl3)
    EndIf

    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd
    EndFunc

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

    Func _sync()
    InetGet("http://www.uhrzeit.org/atomuhr.html","Uhrzeit.html",1)
    $openfile = FileOpen("Uhrzeit.html",0)
    $read_1 = FileRead($openfile)
    FileClose($openfile)
    FileDelete("Uhrzeit.html")
    $gettime = _StringBetween($read_1,'<div id="anzeige">','</div>')
    ;~ GUICtrlSetData($Label1,$gettime[0])

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

    $time = $gettime[0]

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

    $newtime = StringSplit($time,":")

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

    _SetTime($newtime[1],$newtime[2],$newtime[3])

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

    FileDelete("Uhrzeit.html")
    EndFunc

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

    Func _clockrefresh()
    GUICtrlSetData($uhr,@HOUR & ":" & @MIN & ":" & @SEC)
    EndFunc ;===> Uhrzeitrefresh

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

    Func guiCPLClose()
    Exit
    EndFunc ;===> Close

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

    Func goag()
    GUISetState (@SW_HIDE, $guiCPL)
    MouseClick ("left", 315, 414,1,0)
    MouseClick ("left", 507, 414,1,0)
    MouseClick ("left", 695, 414,1,0)
    MouseClick ("left", 886, 414,1,0)
    Sleep (1000)
    GUISetState (@SW_SHOW, $guiCPL)
    $close = GUICtrlCreateButton ("Schließen", 700, 615, 70, 40)
    GUICtrlSetOnEvent ($close, "off")
    EndFunc ;===> Ag's!

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

    Func off()
    Exit
    EndFunc ;===> Close

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

    Func _exit()
    Exit
    EndFunc

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

    ;2nd Dummy=================================
    Func aufl_1($choice)
    If $choice = 1 Then MsgBox (64, "Auflösung", "1280x1024 wurde gewählt")
    GUICtrlSetState (@SW_SHOW, $guiCPL)
    EndFunc

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

    Func aufl_2($choice)
    If $choice = 1 Then MsgBox (64, "Auflösung", "1800x1200 wurde gewählt")
    EndFunc

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

    Func aufl_3($choice)
    If $choice = 1 Then MsgBox (64, "Auflösung", "600x800 wurde gewählt")
    EndFunc
    ;===========================================

    [/autoit]
  • Problem hierbei: Du kannst keine Parameter übergeben, da mußt du wohl globale Variablen definieren, das 2. GUI per Button-Druck auslesen und die Werte dort speichern (separate Func), und dann in Deinen anderen Funktionen "auf1_X" verarbeiten .....

    bischen Tüftelei, aber sollte klappen

    oder die Auswahl der Auflösung in das Menü "Einstellungen" direkt einbauen ???? vielleicht einfacher ???