Seite 1 von 1
Editor-Gadget und maximale Zeilenanzahl
Verfasst: 19.03.2010 19:29
von ThoPie
Hallo,
in meinem Projekt verwende ich ein Editor-Gadget. Gibt es eine Möglichkeit (API?) die Eingabe auf eine feste Zeilenanzahl zu begrenzen? Ich möchte also zum Beispiel verhindern dass mit Enter auf die 4. Zeile gesprungen werden kann (Das Editor-Gadget ist nur 3 Zeilen hoch).
Vielen Dank.
Re: Editor-Gadget und maximale Zeilenanzahl
Verfasst: 19.03.2010 19:57
von ts-soft
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
Code: Alles auswählen
SendMessage_(GadgetID(#editor), #EM_SETLIMITTEXT, 100, 0)
Zeilen geht nicht, nur Zeichen.
Re: Editor-Gadget und maximale Zeilenanzahl
Verfasst: 19.03.2010 20:56
von bobobo
damit wäre dann aber auch (über den Umweg des Zeilen und Zeichenzählens) dann aber auch ne ZeilenLimitierung drin.
Wenn die Anzahl der Zeilen die gewünscht sind erreicht ist, die Anzahl der Zeichen auf die Anzahl der vorhandenen Zeichen
begrenzen. die -1 Geschichte hebt das wieder auf (es gibt ja auch den 'NachLinksLösch-Knopf')
Code: Alles auswählen
; das wuppzt zumindest bei XP
Enumeration
#Window_0
EndEnumeration
Enumeration
#Editor_0
EndEnumeration
Procedure Open_Window_0()
If OpenWindow(#Window_0, 216, 0, 600, 300, "New window ( 0 )", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
If CreateGadgetList(WindowID(#Window_0))
EditorGadget(#Editor_0, 70, 50, 240, 140)
EndIf
EndIf
EndProcedure
Open_Window_0()
Repeat ; Start of the event loop
Event = WaitWindowEvent() ; This line waits until an event is received from Windows
WindowID = EventWindow() ; The Window where the event is generated, can be used in the gadget procedures
GadgetID = EventGadget() ; Is it a gadget event?
EventType = EventType() ; The event type
;You can place code here, and use the result as parameters for the procedures
If Event = #PB_Event_Gadget
If GadgetID = #Editor_0
lines.q=CountGadgetItems(#Editor_0)
chars.q=Len(GetGadgetText(#Editor_0))
If lines>=4
SendMessage_(GadgetID(#Editor_0), #EM_SETLIMITTEXT, chars+1, 0)
Else
SendMessage_(GadgetID(#Editor_0), #EM_SETLIMITTEXT, -1, -1)
EndIf
EndIf
EndIf
Until Event = #PB_Event_CloseWindow ; End of the event loop
End
;
Re: Editor-Gadget und maximale Zeilenanzahl
Verfasst: 19.03.2010 21:05
von rolaf
Hmmm, man muß doch den String nur nach jedem Tastendruck auf das Zeilenumbruch-Zeichen Chr(10) durchsuchen und schneidet dann ab dem vierten Erscheinen den String ab.

Re: Editor-Gadget und maximale Zeilenanzahl
Verfasst: 20.03.2010 14:19
von dysti
Re: Editor-Gadget und maximale Zeilenanzahl
Verfasst: 20.03.2010 14:49
von ThoPie
Danke. Wie immer kann man sich auf die User im Forum verlassen.
