GUI Edit Text löschen & Zeilen begrenzen

  • Hi, ich hab einfach mal 2 Fragen zur Editbox hier zusammengefasst.
    Frage 1: Mit GuiCtrlSetData($HierdashandlederEditBox, "") konnte man ja immer den Inhalt der Editbox löschen. Das klappt nur leider nicht mehr gibt es noch eine andere Möglichkeit ohne die Edit Box zu "deleten" und neu zu erstellen?
    Frage 2: Ich möchte keine horizontale Scrollbar, jetzt kann man aber leider den Text immer noch über die Fenstergröße nach rechts hinausschreiben. Wie kann ich es einstellen, das zur Seite hin (rechts und links) die Editboxränder eingehalten werden, aber nach unten hin, dank des VScrollbalkens die Wege frei sind?
    Danke für eure Antworten
    Aquaplant
    //Edit: Ahh Frage 2 hat sich geklärt; $LBS_DISABLENOSCROLL ging doch, war nur noch ein anderer störender Style drin, womit sich mir die Frage stellt, wo der Unterschied zwischen $WS_VSCROLL und $ES_AUTOVSCROLL besteht

    2 Mal editiert, zuletzt von Aquaplant (23. Januar 2010 um 00:04)

  • Hallo Aquaplant,

    schau dir dieses Beispielskript an, darin sind beide Prob's gelöst:

    Spoiler anzeigen
    [autoit]

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

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

    Opt('GUIOnEventMode', 1)

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

    Global $hlstvwHoly = 0
    Global $sTitel = 'Beispiele zur Nutzung der UDF _Easter'

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

    Local $hMainGui = GUICreate($sTitel, 400, 280, 140, 150, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX))
    ;erzeugt eine GUI die zurückgebebene ID wird in der Variablen $hMainGui gespeichert
    ;die GUI hat BOXen für Mininmieren, Maximieren und ist in der Größe frei änderbar
    GUISetOnEvent($GUI_EVENT_CLOSE, '_End')
    ;Verknüpft dem Event $Gui_Event_Close mit der Funktion _End

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

    Local $hedtBox = GUICtrlCreateEdit("", 10, 10, 200, 200,BitOr($ES_WANTRETURN,$ES_MULTILINE))
    ;erzeugt ein Edit Steuerelement die zurückgegebe ID wird in der Variablen $hedtBox gespeichert
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKTOP + $GUI_DOCKHEIGHT)
    ;verankert das Inputfield Links, rechts, oben und fixiert die Höhe
    ;beim Resizen bleibt es dadurch auf seiner Position und ändert nur die Breite

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

    GUICtrlCreateButton('&Löschen)', 220, 10, 150, 25)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    ;verankert den Button "Zeigen" rechts und oben und fixiert die Größe
    ;beim Resizen bleibt es dadurch auf seiner Position am rechten Rand
    GUICtrlSetOnEvent(-1, '_Delete')
    ;Beim Klicken des Buttons wird die Funktion _Delete aufgerufen

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

    GUICtrlCreateButton('Be&enden', 220, 115, 150, 25)
    GUICtrlSetOnEvent(-1, '_END')
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)

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

    GUICtrlCreateGraphic(0, 230, 400, 2, $SS_BLACKRECT)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKLEFT + $GUI_DOCKBOTTOM)
    Global $hStatus = GUICtrlCreateLabel("", 5, 235, 400, 25)

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

    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKLEFT + $GUI_DOCKBOTTOM)
    ;verankert das Label Links, rechts und unten; fixiert die Höhe
    ;beim Resizen bleibt es dadurch auf seiner Position und ändert nur die Breite wird angepasst
    GUISetState()

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

    While 1
    Sleep(120)
    WEnd

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

    Func _End()
    GUIDelete($hMainGui)
    Exit
    EndFunc ;==>_End

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

    Func _Delete()
    GUICtrlSetData($hedtBox, "")
    EndFunc ;==>_Delete

    [/autoit]

    zu 1. es geht immer noch (einfach Text eingeben und danach dir Löschen drücken
    zu 2. Das ist nur ein Style-Problem (siehe Skript)

    mfg (Auto)Bert