Tab/Combo Überwachung

  • Hallo liebe Community :)

    Ich versuche mich nun seit ca. 3 Wochen mit AutoIt, und schreibe derzeit ein Programm bei den ich quasi eine Comboüberwachung in einer Tabüberwachung bräuchte wie es bei Toolbars auch möglich ist.

    Meine Bitte an euch wäre, mir verständlich zu machen wie das funktioniert. Ich habe mir schon einige Beispiele angeschaut und simple Beispiele konnte ich auch erweitern/bearbeiten, aber 100%ig verstanden habe ich nicht, was ich dort tat :/

    Hier zunächst ein Code für mein Beispiel:

    [autoit]

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

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

    $gui1 = GUICreate("GUI 1", 505, 505)
    $switchtogui2 = GUICtrlCreateButton("Switch to GUI 2", 10, 10)
    GUISetState(@SW_SHOW, $gui1)

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $switchtogui2
    zeige_gui2()
    EndSelect
    WEnd

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

    Func zeige_gui2()
    GUISetState(@SW_HIDE, $gui1)
    $gui2 = GUICreate("GUI 2", 500, 500)
    GUISetState(@SW_SHOW, $gui2)
    Local $tab = GUICtrlCreateTab(10, 10, 480, 480)
    Local $tab_1 = GUICtrlCreateTabItem("1")
    Local $tab1_combo = GUICtrlCreateCombo("", 50, 50, 200, 20)
    GUICtrlSetData(-1, "item1|item2|item3")
    Local $lvt1 = GUICtrlCreateListView("Test", 80, 80, 200, 200, $WS_BORDER, $LVS_EX_FULLROWSELECT)
    Local $tab_2 = GUICtrlCreateTabItem("2")
    Local $tab2_combo = GUICtrlCreateCombo("", 50, 50, 200, 20)
    GUICtrlSetData(-1, "item1|item2|item3")
    Local $lvt2 = GUICtrlCreateListView("Test", 80, 80, 200, 200, $WS_BORDER, $LVS_EX_FULLROWSELECT)
    GUICtrlCreateTabItem("")
    EndFunc

    [/autoit]

    Nun soll quasi eien Überwachung stattfinden die wie folgt aussehen sollte:

    Mein Ansatz wäre:

    [autoit]

    Local $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $tab_1
    MsgBox(0,"","Tab1")
    Case $msg = $tab_2
    MsgBox(0,"","Tab2")
    EndSelect

    [/autoit]


    funktioniert nur leider (bisher) nicht :P

    Ich sag schonmal danke an alle die versuchen oder es vll. sogar schaffen mir diese Überwachung beizubringen :)

    Grüße

    Grüße Yaerox

    Grüne Hölle

    4 Mal editiert, zuletzt von Yaerox (9. Oktober 2012 um 13:08)

  • Ach toooolllll.
    MessageLoop-Methode kombiniert mit der OnEvent-Methode. Wie soll das denn funktionieren.
    Und dannoch anstatt Switch, Select genommen. Entscheide dich erstmal was du von beiden nehmen willst.

    Und pack mal die Funktion ans Ende. So dazwischen ist das nicht "schön".

    Achja..und nicht deutsch und englisch mischen ;)


  • MessageLoop-Methode kombiniert mit der OnEvent-Methode. [...] Und pack mal die Funktion ans Ende. So dazwischen ist das nicht "schön".

    So besser? (habe es editiert)

    Grüße Yaerox

    Grüne Hölle

    2 Mal editiert, zuletzt von Yaerox (9. Oktober 2012 um 12:20)

  • Wie wäre es so?

    Spoiler anzeigen
    [autoit]

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

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

    Global $gui1 = GUICreate("GUI 1", 505, 505)
    Global $switchtogui2 = GUICtrlCreateButton("Switch to GUI 2", 10, 10)
    GUISetState()

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $switchtogui2
    zeige_gui2()
    EndSwitch
    WEnd

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

    Func zeige_gui2()
    GUISetState(@SW_HIDE, $gui1)
    Local $gui2 = GUICreate("GUI 2", 500, 500)
    GUICtrlCreateTab(10, 10, 480, 480)
    GUICtrlCreateTabItem("1")
    Local $tab1_combo = GUICtrlCreateCombo("", 50, 50, 200, 20)
    GUICtrlSetData(-1, "item1|item2|item3")
    Local $lvt1 = GUICtrlCreateListView("Test", 80, 80, 200, 200, $WS_BORDER, $LVS_EX_FULLROWSELECT)
    GUICtrlCreateTabItem("2")
    Local $tab2_combo = GUICtrlCreateCombo("", 50, 50, 200, 20)
    GUICtrlSetData(-1, "item1|item2|item3")
    Local $lvt2 = GUICtrlCreateListView("Test", 80, 80, 200, 200, $WS_BORDER, $LVS_EX_FULLROWSELECT)
    GUICtrlCreateTabItem("")
    GUISetState()

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    GUIDelete($gui2)
    GUISetState(@SW_SHOW, $gui1)
    GUISwitch($gui1)
    Return
    Case $tab1_combo
    GUICtrlCreateListViewItem(GUICtrlRead($tab1_combo), $lvt1)
    Case $tab2_combo
    GUICtrlCreateListViewItem(GUICtrlRead($tab2_combo), $lvt2)
    EndSwitch
    WEnd
    EndFunc

    [/autoit]