OnClick

  • Salü miteinander

    Ich habe ein GuiCtrlCreateInput - Feld. Wenn jemand da rein klickt, sollte ein Button, der sich auf derselben GUi befindet, unsichtbar werden.

    Wie krieg ich das hin?

    Weiss das jemand?

    Wär lieb, wenn Ihr mir hier weiterhelfen könntet.

    Lieber Gruss


    Flo

  • Erstelle einfach ein Case mit deiner Inputbox und setze den Button mit GUICtrlSetState Unsichtbar :)

    Ein Spoiler im Spoiler im Spoiler...

    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen

    Die geheime Nachricht ist "Baum" !

  • werden die events nicht erst ausgeführt wenn man das inputfeld wieder verlässt?

    habe lange nichts mehr in autoit gemacht.die lösung ist keine gute aber eine lösung :)
    wenn der fokus auf dem input liegt wird der button unsichtbar wenn der fokus das input verlässt erscheint der button wieder

    [autoit]

    #include <winapi.au3>

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

    $gui = GUICreate("example", 623, 442, 192, 114)
    $button = GUICtrlCreateButton("Button1", 190, 140)
    $button2 = GUICtrlCreateButton("Button2", 190, 170)
    $input = GUICtrlCreateInput("Input", 60, 140, 121, 21)
    GUISetState()

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

    $timer = TimerInit()

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

    While true
    switch GUIGetMsg()
    case -3
    GUIDelete($gui)
    Exit
    EndSwitch
    if TimerDiff($timer>1000) Then
    if _WinAPI_GetFocus() = GUICtrlGetHandle($input) then
    if GUICtrlGetState($button) = 80 Then
    GUICtrlSetState($button,32)
    EndIf
    else
    if GUICtrlGetState($button) = 96 Then
    GUICtrlSetState($button,16)
    EndIf
    endif
    $timer = TimerInit()
    EndIf
    WEnd

    [/autoit][autoit][/autoit][autoit][/autoit]
  • chesstiger & F4R
    Ihr wisst schon dass bei einem Input das Event standardmäßig ausgelöst wird wenn sich der Text ändert oder?^^

    @Threadersteller:
    Hier ein kleines Beispiel ;)

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    GUICreate("GUI")
    $hI = GUICtrlCreateInput("adsfasdf", 10, 10, 200)
    $hB = GUICtrlCreateButton("Button", 10, 80, 200)
    GUISetState()

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $GUI_EVENT_PRIMARYDOWN
    $a = GUIGetCursorInfo()
    If $a[4] = $hI Then
    GUICtrlSetState($hB, $GUI_HIDE)
    Else
    GUICtrlSetState($hB, $GUI_SHOW)
    EndIf
    EndSwitch
    WEnd

    [/autoit]


    So funktioniert es mit Mausklicks (Unabhängig vom Focus, aber so hast du es ja beschrieben...)

  • Schnitzel Ja das weis ich... bei mir hat es auch nach dem ändern des Inputs und nach dem Bestätigen mit
    Enter funktioniert aber die Lösung von gem ist natürlich besser ;)

    Ein Spoiler im Spoiler im Spoiler...

    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen

    Die geheime Nachricht ist "Baum" !

    Einmal editiert, zuletzt von F4R (16. Oktober 2013 um 16:44)