Input-Feld linksbündig ausgerichtet, aber wenn "übervoll" scheint es rechtsbündig

  • Hallo liebe Community,

    ich habe ein Input-Feld erstellt, ganz einfach mit den Standard-Styles (siehe Bild 1).

    Wenn dies nun "übervoll" ist, also mehr drin steht als man "sehen" kann, richtet sich der Text allerdings rechts aus und nicht links. Wenn man noch Text tippt, ist das ja sinnvoll, weil man sonst ins Leere tippen würde, aber wenn ich ein Fenster mit schon vorhandenem (gespeichertem) Input-Wert neu öffne, soll der Text links ausgerichtet sein, der restliche Text also sozusagen rechts hinter dem Input-Feld verschwinden.

    Richte ich den Text rechts aus, wird es bei einem langen Wert dargestellt wie ich mir das wünsche. Das Problem ist aber, dass dann bei weniger Text derselbe eben (wie ja auch eingestellt) rechts ausgerichtet ist.

    In der Awesome Bar vom Firefox (siehe Bild 2) sieht das genau so aus wie ich es haben möchte. Vielleicht gibt es da ja eine Möglichkeit. Wäre schön, wenn nicht ist es aber auch kein Beinbruch... :)

    Vielen Dank,
    Thunderbuddy

    P.S. Den Teil der URI hab ich nur unkenntlich gemacht, weil ich nicht weiß, ob in dem Gewusel irgendwas "Wichtiges" drinsteht... ;)

  • So?

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <EditConstants.au3>
    #include <WindowsConstants.au3>
    #include <StructureConstants.au3>

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

    Global $hGui = GUICreate("Test")
    Global $cInput1 = GUICtrlCreateInput("", 20, 20, 60, 20)
    Global $cInput2 = GUICtrlCreateInput("", 150, 20, 60, 20)
    Global $cButton = GUICtrlCreateButton("Test", 20, 80, 80, 25)
    GUISetState()

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

    GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

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

    Func WM_COMMAND($_hWnd, $_iMsg, $_iwParam, $_ilParam)
    #forceref $_hWnd, $_iMsg, $_iwParam, $_ilParam

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

    If ControlGetHandle("" ,"" , ControlGetFocus("")) <> ControlGetHandle($hGui, "", $cInput1) Then GUICtrlSendMsg($cInput1, $EM_SETSEL, 0, 0)

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

    Return $GUI_RUNDEFMSG
    EndFunc

    [/autoit]