Mausklick in GUI "verwerfen"

  • Hallo zusammen,

    leider ist mir kein besserer Titel zu meiner Frage eingefallen.

    Wenn man in einer GUI einen Button mit disable deaktiviert und anklickt wird der Mausklick nach Aktivierung des Button (enable) ausgeführt.

    Was kann man machen das sich dieser Mausklick nicht auswirkt?

    Vielen Dank für eure Tipps.

    leertaste

    Einmal editiert, zuletzt von leertaste (16. Februar 2009 um 21:44)

  • Leider hab ich durch mein ständiges rumprobieren mein Script so zerlegt, dass es nicht mal mehr startet.
    Wenn ich wieder einigermaßen den Durchblick habe hänge ich es hier rein.

    Übrigens versuche ich es im OnEventMode.

    Oscar : Der Button arbeitet auch nicht wenn disabled. Klicke ich den Button an, merkt sich dieser den Mausklick und sobald der Button wieder aktiv ist wird sofort die hinterlegte Aktion ausgeführt.

    So jetzt bastle ich mal weiter

    leertaste

  • Das habe ich noch nie gehört
    Du könntest zur Not auch ein Transparentes Label drübersetzen

    Padmak

    • Offizieller Beitrag

    Oscar : Der Button arbeitet auch nicht wenn disabled. Klicke ich den Button an, merkt sich dieser den Mausklick und sobald der Button wieder aktiv ist wird sofort die hinterlegte Aktion ausgeführt.

    Genau das passiert eben nicht! :huh:

    Beispielscript:

    [autoit]


    #include <GUIConstantsEx.au3>
    Opt('GUIOnEventMode', 1)

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

    GUICreate('My GUI edit', 400, 300)
    GUISetOnEvent($GUI_EVENT_CLOSE, 'end')

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

    $go = GUICtrlCreateButton('test', 160, 140, 80, 25)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetOnEvent(-1, 'button')

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

    GUISetState()
    $t = TimerInit()
    While True
    Sleep(20)
    If TimerDiff($t) > 5000 And TimerDiff($t) < 5100 then GUICtrlSetState($go, $GUI_ENABLE)
    WEnd

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

    Func end()
    Exit
    EndFunc

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

    Func button()
    MsgBox(0,0,'button')
    EndFunc

    [/autoit]


    Wenn Du innerhalb von 5 Sekunden (in dieser Zeit ist der Button disabled) auf den Button klickst, wird die Funktion nicht ausgeführt. Der Button "merkt" sich den Mausklick auch nicht.

  • Hi Leute,

    danke an für eure Bemühungen. Ihr habt ja recht, es kann nicht sein, dass der Mausklick gespeichert wird. Schande......

    Hatte vor lauter Bäumen den Wald nicht mehr gesehen, aber nun paßt alles.


    Schönen Abend

    leertaste