Bildwechsel (button)

  • hi leute,
    wie geht das noch mal mit einem bildwechsel?

    1. bild
    2. man fährt mit dem mauszeiger obendrüber >> anderes bild ist sichtbar

    mfg team2way

    Einmal editiert, zuletzt von team2way (28. März 2009 um 14:28)

  • also setimage geht bei mir nicht...

    noch mal: man hat ein bild und wenn die maus oben drüberfährt soll es sich verändern, wenn die maus dann wieder auf der gui oder wo anders ist dann ist wieder das alte bild sichtbar

  • schau Dir doch mal diesen Post an....
    Hab ich gefunden mit den Begriffen Bild wechsel in der Suchfunktion :rofl:
    Link

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Du meist ein Overroll-Efeckt?

    Spoiler anzeigen
    [autoit]

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

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

    Dim $file[3]
    $file[0] = @ScriptDir & "\Test.gif"
    $file[1] = @ScriptDir & "\Test_O.gif"
    $file[2] = @ScriptDir & "\Test_C.gif"
    $Titel = "Test"
    #Region ### START Koda GUI section ### Form=
    $Form2 = GUICreate($Titel, 212, 120, 515, 423)
    $Pic1 = GUICtrlCreatePic($file[0], 72, 39, 75, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    $fStatus = False
    Global $Sec = "61"
    $fStatus = False
    While 1
    If $Sec <= @SEC Then
    ToolTip ("")
    $Sec = "61"
    EndIf
    _Test(_Overroll($Form2, $Pic1, "_Test"))
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Pic1
    GUICtrlSetImage($Pic1, $file[2])
    ToolTip ("Pic1 wurde angeklickt!")
    While _IsPressed("01")
    Sleep(10)
    WEnd
    GUICtrlSetImage($Pic1, $file[0])
    $fStatus = False
    _Test(_Overroll($Form2, $Pic1, "_Test"))
    $Sec = @SEC +2
    EndSwitch
    WEnd
    Func _Test($FuncArt)
    If $FuncArt = "1" Then
    GUICtrlSetImage($Pic1, $file[1])
    ElseIf $FuncArt = "0" Then
    GUICtrlSetImage($Pic1, $file[0])
    EndIf
    EndFunc ;==>_Test
    Func _Overroll($fGui,$fObjekt,$fFunc)
    Local $fPos = GUIGetCursorInfo ($fGui)
    If $fPos[4] = $fObjekt Then
    If $fStatus = False Then
    $fStatus = True
    Return "1"
    EndIf
    Else
    If $fStatus = True Then
    $fStatus = False
    Return "0"
    EndIf
    EndIf
    Return "-1"
    EndFunc

    [/autoit]

    mfg. Jam00

  • Also, anders und ohne While-Abfrage geht es... aber einfacher? Naja, die UDF nicht aber der Code, den du anschließend verwendest, schon.
    EzBmpButton

  • Eigentlich suchst du doch eine einfache Hoverfunktion oder?

    Hier im Forum schwirrt diese Variante rum (gefällt mir persönlich besser als die Hover UDF - ist halt leichter zu verstehen)

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    global $hoverbild = ; dein hoverbild
    global $normalbild = ;dein normales bild
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 633, 447, 193, 125)
    $Pic1 = GUICtrlCreatePic($normalbild, 104, 56, 217, 169, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    $Hover_Old = ""

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

    While 1
    $Cursor = GUIGetCursorInfo($Form1) ;Einfache Hover Funktion
    If $Cursor[4] <> $Hover_Old Then
    Normal($Hover_Old)
    Hover($Cursor[4])
    $Hover_Old = $Cursor[4]
    EndIf
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

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

    Func Hover($ID)
    Switch $ID
    Case $Pic1
    GUICtrlSetImage($Pic1, $hoverbild)
    EndSwitch
    EndFunc

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

    Func Normal($ID)
    Switch $ID
    Case $Pic1
    GUICtrlSetImage($Pic1, $normalbild)
    EndSwitch
    EndFunc

    [/autoit]