Markierung eines Textes beim start in der GUI. - wie lösen ?

  • guten abend.
    eigentlich ärgere ich mich bei mehr oder weniger schon länger über dieses problem: bei jedem projekt was "GUICtrlCreateInput" verwendet wird das erste inputfeld / eines der inputfelder automatisch mit einer hässlichen markierung des des text versehen der sich in dem feld befindet. wie löst ihr das problem oder hab nur ich das ?

    lg

    PS: ferner würde ich gerne wissen, wie ich das inputfeld "unmarkierbar" mache, also so das der inhat/text nicht markiert werden kann.

  • Ein Label von der GUI als letztes erstellen, dann dürfte das den Focus haben!

    Edit: Oder auch nicht :D Ich hab das Problem irgendwie nie? Aber ich weiss garnicht warum :O. Du kannst auch manuelle mit GUICtrlSetState($Label, $GUI_FOCUS) den Focus auf nen anderes Control setzen, aber muss bestimmt auch anders gehen.

    $ES_READONLY (ist markierbar aber nicht änderbar) als Style, vorher noch EditConstants.au3 includen. Unmarkierbar wäre einfach mit GUICtrlSetState($Input, $GUI_DISABLE) deaktivieren.

  • hi,
    mglw. geht es anders, das habe ich aber noch nicht benötigt, denn in so einem Fall setze ich, quasi als Default, den Focus auf z.B. meinen 'Quit'-Button, vor GUISetState(@SW_SHOW) und schon ist ggfs. das Edit-Feld ohne Focus:

    [autoit]

    $btnQuit=GUICtrlCreateButton('Quit', 208, 147, 75, 25, $WS_GROUP)
    GUICtrlSetFont(-1, 8, 800, 0, 'MS Sans Serif')
    GUICtrlSetState(-1, $GUI_Focus)

    [/autoit]

    Das funktioniert wunderbar (solange ausser dem Editfeld noch andere Controls vorhanden sind) ;)
    Gruß
    ytwinky

    (Ich) benutze stets die aktuelle (Beta) und SciTE..

  • also das GUICtrlSetState($Label11, $GUI_FOCUS) ist natürlich eine notlösung klappt aber immerhin. thx!
    wenn ich GUICtrlSetState($Input, $GUI_DISABLE) setze, dann verändern sich leider die farben :(