GUIctrlcreateinput begrenzen

  • Hi,
    Ich habe ein GUI mit einem input. Der Input ist größer, als die Schriftgröße. Jetzt möchte ich, dass der Input nicht nach rechts erweitert wird, wenn ich über den Rand hinausschreiben würde, sondern in die untere Zeile versetzt wird.
    Ich hoffe ich habe mich verständlich ausgedrückt.

    Meine Zweite Frage wäre, wie ich die Schriftart & -farbe im Input ändern kann.

    [autoit]

    $Eingabe = GUICtrlCreateInput("", $GuiL-590, $GuiH-100, 400, 50)

    [/autoit]


    Aquaplant

  • funktioniert mit :

    [autoit]

    GUICtrlSetLimit ( controlID, max [, min] )

    [/autoit]

    Edit: Falscher Film :)

  • Jo Danke läuft :)

    [autoit]

    $Eingabe = GUICtrlCreateEdit("", $GuiL-590, $GuiH-100, 400, 50, $LBS_DISABLENOSCROLL)

    [/autoit]


    /EDIT: Wie kann ich jetzt eine Aktion bestimmen, wenn Enter gedrückt wird? Mit Hotkeyset?
    /EDIT2: Ok habs schon:

    [autoit]

    $Eingabe = GUICtrlCreateEdit("", $GuiL-590, $GuiH-100, 400, 50, $LBS_DISABLENOSCROLL)
    $NAbschicken = GUICtrlCreateButton("Abschicken", $GUIL-185, $Guih-100, 70, 50)

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

    HotKeySet("{Enter}", "_Abschicken")
    Func _Abschicken()
    If GUICtrlGetHandle($NAbschicken) Then
    MsgBox(0, "Abgeschickt", GUICtrlRead($Eingabe))
    EndIf
    EndFunc
    while 1
    Sleep(29399)
    WEnd

    [/autoit]


    /EDIT3: Hmm GUICtrlGetHandle($NAbschicken) ist doch noch nicht ganz richtig - man bräuchte das aktive :|

    2 Mal editiert, zuletzt von Aquaplant (16. November 2009 um 17:10)

    • Offizieller Beitrag

    Du kannst das auch mit GUISetAccelerators machen.

    [autoit]

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

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

    Opt('MustDeclareVars', 1)

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

    Example()

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

    Func Example()
    Local $myedit, $msg, $Return
    GUICreate("My GUI edit") ; will create a dialog box that when displayed is centered
    $Return = GUICtrlCreateDummy()
    $myedit = GUICtrlCreateEdit("First line" & @CRLF, 176, 32, 121, 97, $ES_AUTOVSCROLL + $WS_VSCROLL)
    Dim $AccelKeys[1][2] = [['{ENTER}', $Return]]
    GUISetAccelerators($AccelKeys)
    GUISetState()

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

    ; will be append dont' forget 3rd parameter
    GUICtrlSetData($myedit, "Second line", 1)

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

    ; Run the GUI until the dialog is closed
    While 1
    $msg = GUIGetMsg()
    If $msg = $Return Then MsgBox(0, "Return wurde gedrückt", GUICtrlRead($myedit))
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd
    GUIDelete()
    EndFunc ;==>Example

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

    ;

    [/autoit]
  • Hi wenn würde ich das ohne Hotkey schreiben

    Spoiler anzeigen
    [autoit]

    $Eingabe = GUICtrlCreateEdit("", $GuiL-590, $GuiH-100, 400, 50, $LBS_DISABLENOSCROLL)
    $NAbschicken = GUICtrlCreateButton("Abschicken", $GUIL-185, $Guih-100, 70, 50)

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $NAbschicken
    _Abschicken()
    EndSelect
    WEnd
    Func _Abschicken()
    If GUICtrlGetHandle($NAbschicken) Then
    MsgBox(0, "Abgeschickt", GUICtrlRead($Eingabe))
    EndIf
    EndFunc
    while 1
    Sleep(29399)
    WEnd

    [/autoit]

    MfG
    Der_Doc