Hover-Button funktioniert so wie er soll

  • Hallo Members, ich habe hier ein Script mit einer Art Hover-Button gefunden, und ich wollte es in mein zweites Script einbauen, aber irgendwie funktioniert das nicht, ich denke es liegt an "Select" "EndSelect"

    Wenn ich die Funktion aber weg lass funktioniert der Hover nicht mehr in mein zweites Script, aber baue ich "Select" "EndSelect" so mit ein... in die While schleife funktionieren meine anderen Script Teile nicht mehr ps. hab das Script gekürzt

    Jetzt frage ich mich, wie ich in mein zweites Script den Hover-Button einbauen kann aber ohne die "While" schleife bis "ExitLoop" zu verändern, aber so das es trotzdem noch funktioniert

    Ich hoffe das mich einer versteht, danke schon mal im voraus

    Erstes Script mit dem Hover-Button

    Spoiler anzeigen
    [autoit]

    Global $GREEN = 0x00FF00
    Global $RED= 0xFF0000
    Global $TEXT = "RED"

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

    $Form1 = GUICreate("HDL", 300,300)
    $BUTON = GUICtrlCreateButton("Button", 72, 64, 113, 41)
    GUICtrlSetFont(-1, 10, 800, 0, "Segoe UI")
    GUICtrlSetBkColor($BUTON, $RED)
    GUISetState()

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

    While 1
    $MSG = GUIGetMsg()
    $GGCI = GUIGetCursorInfo()
    Select
    Case $MSG = -3
    ExitLoop
    EndSelect
    If $GGCI[4] = $BUTON And $TEXT = "RED" Then
    GUICtrlSetBkColor($BUTON, $GREEN)
    $TEXT = "GREEN"
    ElseIf $GGCI[4] <> $BUTON And $TEXT = "GREEN" Then
    GUICtrlSetBkColor($BUTON, $RED)
    $TEXT = "RED"
    EndIf
    WEnd

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

    Zweites Script wo der Hover-Button eingebaut werden soll

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <TreeViewConstants.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("HDL", 650, 250)

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

    $button1 = GUICtrlCreateButton("Youtube", 10, 60, 150, 26)
    $button2 = GUICtrlCreateButton("Google", 210, 60, 150, 26)
    $button3 = GUICtrlCreateButton("Facebook", 410, 60, 150, 26)

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

    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case -3
    ExitLoop

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

    Case $button1
    shellexecute("http://www.youtube.com")
    Case $button2
    shellexecute("http://www.google.de")
    Case $button3
    shellexecute("http://de-de.facebook.com")

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

    EndSwitch
    WEnd

    [/autoit]

    mfg Mainstream

    Einmal editiert, zuletzt von Mainstream (7. Juni 2012 um 23:58)

  • Was soll denn das Case -3? Was denkst du wohl was hinter $GUI_EVENT_CLOSE steckt?

    So?

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <TreeViewConstants.au3>
    #include <WindowsConstants.au3>

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

    Global $GREEN = 0x00FF00
    Global $RED = 0xFF0000
    Global $TEXT1 = "RED"
    Global $TEXT2 = "RED"
    Global $TEXT3 = "RED"

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

    $Form1 = GUICreate("HDL", 650, 250)
    $button1 = GUICtrlCreateButton("Youtube", 10, 60, 150, 26)
    GUICtrlSetFont(-1, 10, 800, 0, "Segoe UI")
    GUICtrlSetBkColor(-1, $RED)
    $button2 = GUICtrlCreateButton("Google", 210, 60, 150, 26)
    GUICtrlSetFont(-1, 10, 800, 0, "Segoe UI")
    GUICtrlSetBkColor(-1, $RED)
    $button3 = GUICtrlCreateButton("Facebook", 410, 60, 150, 26)
    GUICtrlSetFont(-1, 10, 800, 0, "Segoe UI")
    GUICtrlSetBkColor(-1, $RED)

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

    GUISetState(@SW_SHOW)

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

    While 1
    $aGGCI = GUIGetCursorInfo()
    If $aGGCI[4] = $button1 And $TEXT1 = "RED" Then
    GUICtrlSetBkColor($button1, $GREEN)
    $TEXT1 = "GREEN"
    ElseIf $aGGCI[4] <> $button1 And $TEXT1 = "GREEN" Then
    GUICtrlSetBkColor($button1, $RED)
    $TEXT1 = "RED"
    EndIf
    If $aGGCI[4] = $button2 And $TEXT2 = "RED" Then
    GUICtrlSetBkColor($button2, $GREEN)
    $TEXT2 = "GREEN"
    ElseIf $aGGCI[4] <> $button2 And $TEXT2 = "GREEN" Then
    GUICtrlSetBkColor($button2, $RED)
    $TEXT2 = "RED"
    EndIf
    If $aGGCI[4] = $button3 And $TEXT3 = "RED" Then
    GUICtrlSetBkColor($button3, $GREEN)
    $TEXT3 = "GREEN"
    ElseIf $aGGCI[4] <> $button3 And $TEXT3 = "GREEN" Then
    GUICtrlSetBkColor($button3, $RED)
    $TEXT3 = "RED"
    EndIf

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

    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $button1
    ShellExecute("http://www.youtube.com")
    Case $button2
    ShellExecute("http://www.google.de")
    Case $button3
    ShellExecute("http://de-de.facebook.com")
    EndSwitch
    WEnd

    [/autoit]
  • @m-obi Super danke, ich bin ganz anderes an die Sache herangegangen, war aber auch ziemlich weit weg von deim lösungsweg, bin die ganze zeit an der while schleife zugange gewesen, dacht da liegt der Fehler begraben, ich bedank mich nochmal vielmals bist mir eine große hilfe gewesen

  • Vollständigkeitshalber hier der aktuelle Code.

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <TreeViewConstants.au3>
    #include <WindowsConstants.au3>

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

    Global $iColorGreen = 0x00FF00
    Global $iColorRed = 0xFF0000
    Global $aButton[3][2] = [[0, False], [0, False], [0, False]]

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

    $hGui = GUICreate("HDL", 650, 250)
    $aButton[0][0] = GUICtrlCreateButton("Youtube", 10, 60, 150, 26)
    GUICtrlSetFont(-1, 10, 800, 0, "Segoe UI")
    GUICtrlSetBkColor(-1, $iColorRed)
    $aButton[1][0] = GUICtrlCreateButton("Google", 210, 60, 150, 26)
    GUICtrlSetFont(-1, 10, 800, 0, "Segoe UI")
    GUICtrlSetBkColor(-1, $iColorRed)
    $aButton[2][0] = GUICtrlCreateButton("Facebook", 410, 60, 150, 26)
    GUICtrlSetFont(-1, 10, 800, 0, "Segoe UI")
    GUICtrlSetBkColor(-1, $iColorRed)

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

    GUISetState()

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

    While 1
    $aGGCI = GUIGetCursorInfo($hGui)
    For $i = 0 To UBound($aButton) - 1
    If $aGGCI[4] = $aButton[$i][0] And Not $aButton[$i][1] Then
    GUICtrlSetBkColor($aButton[$i][0], $iColorGreen)
    $aButton[$i][1] = True
    ElseIf $aGGCI[4] <> $aButton[$i][0] And $aButton[$i][1] Then
    GUICtrlSetBkColor($aButton[$i][0], $iColorRed)
    $aButton[$i][1] = False
    EndIf
    Next

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

    $iMsg = GUIGetMsg()
    Switch $iMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $aButton[0][0]
    ShellExecute("http://www.youtube.com")
    Case $aButton[1][0]
    ShellExecute("http://www.google.de")
    Case $aButton[2][0]
    ShellExecute("http://de-de.facebook.com")
    EndSwitch
    WEnd

    [/autoit]