_GUICtrlEdit_SetSel und der doofe Mausklick

  • Es war einmal...
    Ach kurze knackige Problemstellung: _GUICtrlEdit_SetSel startet bevor der Mausklick beendet wurde hier mal der ausschnittsweise code:

    [autoit]

    Func autowrite_startart($ctrlid)
    If GUICtrlRead($ckbx_autowrite) = $GUI_CHECKED And Not StringLen(GUICtrlRead($ctrlid)) Then GUICtrlSetData($ctrlid, IniRead($inipath, "options", "standardstrt", "N.a."))
    _GUICtrlEdit_SetSel($ctrlid, 0, -1)
    EndFunc

    [/autoit]

    Diese Funktion wird durch einen WM_COMMAND aufgerufen und zwar bei den Codes 256 (focus) bzw. 1024 (change). Das Control um das es geht ist ein Input. Man klickt in das Input und es wird automatisch ein Text reingeschrieben. Anschließend soll der Text markiert sein. Wenn man in das Control reintabbt klappts wunderbar. Wenn man reinklickt sieht man ein milisekündchen lang wie der text markiert ist, dann wird die Markierung jedoch durch den Mausklick (der noch da ist^^) wieder aufgehoben.
    Wäre es eine sinnvolle Lösung per Schleife zu warten bis die Maustaste losgelassen wurde? Habe das zwar probiert war damit aber nicht sonderlich zufrieden :/

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

    • Offizieller Beitrag

    Warum benutzt du nicht einfach

    [autoit]

    GUICtrlSetState($ctrlid, $GUI_FOCUS)

    [/autoit]


    damit erhällt das Control den Focus und der Inhalt ist selektiert ?