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
GUI Edit Text löschen & Zeilen begrenzen
-
- [ gelöst ]
-
Aquaplant -
22. Januar 2010 um 23:44 -
Geschlossen -
Erledigt
-
-
Zu Frage 1: Probier mal
[autoit]_GUICtrlEdit_SetText($hWnd, "")
[/autoit] -
Ahh jetzt klappts, danke
-
Hallo Aquaplant,
schau dir dieses Beispielskript an, darin sind beide Prob's gelöst:
Spoiler anzeigen
[autoit]#include <StaticConstants.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <EditConstants.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include<WindowsConstants.au3>Opt('GUIOnEventMode', 1)
[/autoit] [autoit][/autoit] [autoit]Global $hlstvwHoly = 0
[/autoit] [autoit][/autoit] [autoit]
Global $sTitel = 'Beispiele zur Nutzung der UDF _Easter'Local $hMainGui = GUICreate($sTitel, 400, 280, 140, 150, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX))
[/autoit] [autoit][/autoit] [autoit]
;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 _EndLocal $hedtBox = GUICtrlCreateEdit("", 10, 10, 200, 200,BitOr($ES_WANTRETURN,$ES_MULTILINE))
[/autoit] [autoit][/autoit] [autoit]
;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 BreiteGUICtrlCreateButton('&Löschen)', 220, 10, 150, 25)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
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 aufgerufenGUICtrlCreateButton('Be&enden', 220, 115, 150, 25)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUICtrlSetOnEvent(-1, '_END')
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)GUICtrlCreateGraphic(0, 230, 400, 2, $SS_BLACKRECT)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKLEFT + $GUI_DOCKBOTTOM)
Global $hStatus = GUICtrlCreateLabel("", 5, 235, 400, 25)GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKLEFT + $GUI_DOCKBOTTOM)
[/autoit] [autoit][/autoit] [autoit]
;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()While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(120)
WEndFunc _End()
[/autoit] [autoit][/autoit] [autoit]
GUIDelete($hMainGui)
Exit
EndFunc ;==>_EndFunc _Delete()
[/autoit]
GUICtrlSetData($hedtBox, "")
EndFunc ;==>_Deletezu 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