Tray Icon Menü und Normale Button zu gleich abfragen

  • Hey gibts eine Möglichkeit, Ereignisse vom Tray Menü und zugleich von der Form abgefragt werden? Habs versucht über die Variante mit der Whileschleife und GUIGetMsg() bzw. TrayGetMsg(). Nur entweder Funktionierte das Tray Menü oder die GUI Buttons. Also wenn ich die schleifen nach einander anordne, bzw die TrayMenü Schleife in die GUI Schleife.

    Kann mir jemand helfen? Bzw versteht man mich? Hier mal der Code:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <GuiStatusBar.au3>
    #include <WindowsConstants.au3>
    #include <Date.au3>

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

    Opt("TrayMenuMode", 1)
    Opt("TrayMenuMode", 1)
    Opt("TrayMenuMode", 1)
    Opt("TrayMenuMode", 1)
    #Region ### START Koda GUI section ### Form=C:\Users\Schule\AutoIT\MiniAnwendung mit TryIcon\Form MiniAnwendung.kxf
    $Form1 = GUICreate("Form1", 615, 438, 192, 124)
    $StatusBar1 = _GUICtrlStatusBar_Create($Form1)
    Dim $StatusBar1_PartsWidth[3] = [275, 550, -1]
    _GUICtrlStatusBar_SetParts($StatusBar1, $StatusBar1_PartsWidth)
    _GUICtrlStatusBar_SetText($StatusBar1, "", 0)
    _GUICtrlStatusBar_SetText($StatusBar1, "", 1)
    _GUICtrlStatusBar_SetText($StatusBar1, "00:00:00", 2)
    _GUICtrlStatusBar_SetMinHeight($StatusBar1, 27)
    TraySetIcon("", -1)
    TraySetClick("1")
    $MenuItem1 = TrayCreateMenu("&Optionen")
    $TryMenOptTest = TrayCreateItem("&Test", $MenuItem1)
    $TryMenOptUltimativetest = TrayCreateItem("&Ultimative Test", $MenuItem1)
    $MenuItem4 = TrayCreateItem("")
    $TryMenBeenden = TrayCreateItem("&Beenden")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    _zeit()
    adlibregister("_zeit",1000)

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

    ; Ereignisabfrage Schleife Beginn
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch

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

    ; Tray Menü Schleife Beginn
    While 1
    $msg = TrayGetMsg()
    Select
    Case $msg = 0
    ContinueLoop
    Case $msg = $TryMenOptTest
    Msgbox(64, "Über:", "AutoIt3-Tray-Beispiel mit Gruppen von Menüeinträgen.")
    Case $msg = $TryMenBeenden
    Exit
    EndSelect
    WEnd
    ; Tray Menü Schleife Ende

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

    WEnd
    ; Ereignisabfrage Schleife Ende

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

    ; Funktionen
    ; ##########

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

    Func _zeit()
    $zeit = _DateTimeFormat(_NowCalc(), 5)
    _GUICtrlStatusBar_SetText($StatusBar1, @TAB & $zeit, 2)
    EndFunc

    [/autoit]


    Michael

    Einmal editiert, zuletzt von lwl2011Bochum (20. Oktober 2011 um 19:45)

  • aber will ja beide varianten nutzen. und irgendwie klappte es noch nicht wirklich. also es ging bislang immer das eine oder andere.

    hast vll nen art kleines Beispiel zur hand?

    Michael