Menü im GUI, verwendung klappt nicht

  • hi,

    kann mir mal jemand verraten wie ich bitte die menüs nutzen kann? xD

    zb das exit im ersten menü das dritte menü item

    [autoit]

    Case $M1_item3
    MsgBox(0,"a","a")

    [/autoit]

    klappt leider nicht


    Spoiler anzeigen
    [autoit]


    #include <StaticConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("Phase 0 - Altenforst.de", 656, 446, 141, 261)
    $MonthCal1 = GUICtrlCreateMonthCal("2008/"&@MON&"/"&@MDAY, -8, 288, 194, 161)
    $Tab = GUICtrlCreateTab(0, 0, 417, 281)
    $TabSheet1 = GUICtrlCreateTabItem("Phase 1")

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

    $TabSheet2 = GUICtrlCreateTabItem("Phase 2")

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

    $TabSheet3 = GUICtrlCreateTabItem("Phase 3")

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

    $TabSheet4 = GUICtrlCreateTabItem("Phase 4")

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

    $TabSheet5 = GUICtrlCreateTabItem("Phase 5")

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

    $Button1 = GUICtrlCreateButton("Start training", 452, 24, 178, 33, 0)
    $Button2 = GUICtrlCreateButton("Start review", 452, 80, 178, 33, 0)
    $Pic1 = GUICtrlCreatePic("", 0, 0, 657, 441)
    $Checkbox1 = GUICtrlCreateCheckbox("Automatically check for Updates", 452, 176, 180, 25)
    $Checkbox2 = GUICtrlCreateCheckbox("Automatically rotate phases", 452, 200, 153, 33)
    $Group1 = GUICtrlCreateGroup("", 440, 8, 201, 273)

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

    $Menu1 = GUICtrlCreateMenu("File")
    $M1_item1 = GUICtrlCreateMenuItem("New vocable", $menu1)
    $M1_item2 = GUICtrlCreateMenuItem("Edit vocable", $menu1)
    $M1_item3 = GUICtrlCreateMenuItem("Exit", $menu1)

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

    $Menu2 = GUICtrlCreateMenu("Phases")

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

    $M2_item1 = GUICtrlCreateMenuItem("Create custom phase", $menu2)
    $M2_item2 = GUICtrlCreateMenuItem("Edit custom phase", $menu2)
    $M2_item3 = GUICtrlCreateMenuItem("Show all phases", $menu2)

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

    $Menu3 = GUICtrlCreateMenu("Options")

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

    $M3_item1 = GUICtrlCreateMenuItem("Notify on startup", $menu3)
    $M3_item2 = GUICtrlCreateMenuItem("Check orthography", $menu3)

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

    $Menu4 = GUICtrlCreateMenu("Tools")

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

    $M4_item1 = GUICtrlCreateMenuItem('Open dict.cc', $menu4)
    $M4_item2 = GUICtrlCreateMenuItem('Open leo.org', $menu4)
    $M4_item3 = GUICtrlCreateMenuItem("Send mail to class", $menu4)

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

    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/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
    new_voc()
    Case $M1_item2
    edit_voc()
    case $M2_item1
    create_phase()
    case $M2_item2
    edit_phase()
    case $M2_item3
    show_phases()
    case $M3_item1
    onstartup()
    case $M3_item2
    check_lng()
    case $M4_item1
    dict()
    case $M4_item2
    leo()
    case $M4_item3
    email()
    #EndRegion

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




    EndSwitch
    WEnd

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

    #Region dummy funcs

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

    func new_voc()
    EndFunc
    func edit_voc()
    EndFunc
    func create_phase()
    EndFunc
    func edit_phase()
    EndFunc
    func show_phases()
    EndFunc
    func onstartup()
    EndFunc
    func check_lng()
    EndFunc
    func dict()
    EndFunc
    func leo()
    EndFunc
    func email()
    EndFunc

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

    #EndRegion

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

    mfg

    Einmal editiert, zuletzt von azunai (28. August 2008 um 19:34)

    • Offizieller Beitrag

    Das Problem liegt in der Generierung des Menüs. Du generierst das Menü erst nach den TABs und somit ist das Menü nur aktiv, wenn TAB5 aktiv ist (meiner Meinung nach ist das ein Fehler von AutoIt, da es ja eigentlich nur ein Menü geben sollte).
    Jedenfalls, wenn Du das Menü gleich unterhalb von GUICreate erstellst, dann funktioniert Dein Script, wie es soll.

  • mööp

    ok danke ;)

    edit:

    cool dann gibts keine tabs mehr ;)

    edit2:
    das ist die lösung

    [autoit]

    $Tab = GUICtrlCreateTab(0, 0, 417, 281)
    GUICtrlSetState($tab,$GUI_ONTOP)

    [/autoit]

    Einmal editiert, zuletzt von azunai (28. August 2008 um 19:34)