Wenn maus über input, data ändern

  • hey..was muss ich machen, falls ich mit der maus über eine input fahre der text von 1 zu 2 geändert wird und wenn ich von dem input wieder weg geh der text wieder zu 1 wird..

    achtung ohne klick...mit mousegetpos wäre es ja ziemlich umständlich und würde auch nicht richtig funktionieren wenn das fenster woanders is

  • Also ein Hovereffekt? Dazu gibt es zahlreiche Ansätze. Hier mal etwas ganz einfaches:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>

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

    Opt("GUICoordMode",1)
    $HauptGUI = GUICreate("Hover", 400, 560)
    $input1 = GUICtrlCreateinput("1", 100, 250, 200, 50)
    GuiSetState()

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

    $Hover_Old = ""

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

    While 1

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

    If GUIGetMsg() = -3 Then Exit

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

    $Cursor = GUIGetCursorInfo($HauptGUI) ;Einfache Hover Funktion
    If $Cursor[4] <> $Hover_Old Then
    Hover($Cursor[4])
    $Hover_Old = $Cursor[4]
    EndIf

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

    WEnd

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

    Func Hover($ID) ;wenn der Zeiger über dem Kontrol ist dann ...
    Switch $ID
    Case $input1
    Guictrlsetdata($input1, "2") ;hier kommt die jeweilige Funktion hin
    case else
    Guictrlsetdata($input1, "1")
    EndSwitch
    EndFunc

    [/autoit]