Anzahl der Zeichen pro Zeile im MLE festlegen
Moderator: Moderatoren
Anzahl der Zeichen pro Zeile im MLE festlegen
Hallo,
ist es möglich die Anzahl der Zeichen/Zeile im MLE festzulegen( unabhängig vom Font ) ?
Gleich noch ne Anschlussfrage. Wenn ein wordWrap ausgeführt wird, was für ein Zeilenumbruch wird da geschrieben ?
ist es möglich die Anzahl der Zeichen/Zeile im MLE festzulegen( unabhängig vom Font ) ?
Gleich noch ne Anschlussfrage. Wenn ein wordWrap ausgeführt wird, was für ein Zeilenumbruch wird da geschrieben ?
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2825
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 96 Mal
- Danksagung erhalten: 13 Mal
Re: Anzahl der Zeichen pro Zeile im MLE festlegen
Hallo,
also mal ganz aus dem Bauch heraus, eine Anzahl Zeichen/Zeile ist bei proportionalen Fonts schon eine Herausforderung, so dass ich davon ausgehe, dass das nicht möglich ist.
Und bei den WordWraps würde ich auf eine reine Anzeige-Regelung tippen, und dass dadurch der im MLE erfasste String nicht beeinflusst wird.
also mal ganz aus dem Bauch heraus, eine Anzahl Zeichen/Zeile ist bei proportionalen Fonts schon eine Herausforderung, so dass ich davon ausgehe, dass das nicht möglich ist.
Und bei den WordWraps würde ich auf eine reine Anzeige-Regelung tippen, und dass dadurch der im MLE erfasste String nicht beeinflusst wird.
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Anzahl der Zeichen pro Zeile im MLE festlegen
eine direkt Grössen Beschränkung, wie o:BufferSize, gibt es beim XbpMLE nicht.
mittels API Function EM_LIMITTEXT Message kann man die Anzahl von Zeichen limitieren.
https://msdn.microsoft.com/de-de/librar ... s.85).aspx
---
man kann aber die aktuelle Zeile / Spalte des Cursor im XbpMLE bestimmen mit
Code: Alles auswählen
::oMemotext:keyBoard := {|nKey, uNIL, oSelf| ::MyKey(nKey,oSelf) }
METHOD XXX:MyKey(nKey,oMLE)
LOCAL nEnde := oMLE:pos()
LOCAL nLine := oMLE:lineFromChar(nEnde)
LOCAL nZeil := oMLE:charFromLine(nLine)
LOCAL cText := "Row "+LTRIM(STR(nLine))+" / Col "+LTRIM(STR(nEnde-nZeil))
ein Umbruch in einem XbpMLE erfolgt automatisch
gruss by OHR
Jimmy
Jimmy
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Anzahl der Zeichen pro Zeile im MLE festlegen
Ein MLE begrenzt den Text in der Breite durch seine Größe; der Umbruch ist rein optisch und verändert sich mit der Größenänderung des MLEs/Dialogs. Natürlich wird auch umgebrochen, wenn der Text Umbrüche enthält, also Zeilenschaltungen.
Man kann im Handler ständig die Puffergröße auslesen und darauf reagieren, etwa nach dem Erreichen eines Limits alle weiteren Zeichen zurückweisen, wodurch man die Gesamtlänge des Textes begrenzen könnte. Aber ein MLE ist kein MemoEdit, sondern ein Control für die Darstellung und Bearbeitung von Fließtext. Das Umbruchverhalten ist übrigens das gleiche wie beim Textstatic mit Wordbreak.
Wer mehr will, muss Controls einbetten, die mehr können, z.B. TX Text Control oder ähnliche.
Man kann im Handler ständig die Puffergröße auslesen und darauf reagieren, etwa nach dem Erreichen eines Limits alle weiteren Zeichen zurückweisen, wodurch man die Gesamtlänge des Textes begrenzen könnte. Aber ein MLE ist kein MemoEdit, sondern ein Control für die Darstellung und Bearbeitung von Fließtext. Das Umbruchverhalten ist übrigens das gleiche wie beim Textstatic mit Wordbreak.
Wer mehr will, muss Controls einbetten, die mehr können, z.B. TX Text Control oder ähnliche.
Herzlich,
Tom
Tom
Re: Anzahl der Zeichen pro Zeile im MLE festlegen
Danke für die Antworten.
Das mit dem Puffer war auch mein Ansatz, allerdings war ich mit allen Lösungen nicht 100%ig zufrieden.
Gab es in Xbase++ nicht eine Klasse, die so ne Art HilfePanel bereitstellt (keine Ahnung wie man das nennt, ich meine so ein kleines Feld mit Text was angezeigt wird, als wenn man auf google die Maus über das Suchfeld hovert ). Weiß jemand wie die heißt?
Das mit dem Puffer war auch mein Ansatz, allerdings war ich mit allen Lösungen nicht 100%ig zufrieden.
Gab es in Xbase++ nicht eine Klasse, die so ne Art HilfePanel bereitstellt (keine Ahnung wie man das nennt, ich meine so ein kleines Feld mit Text was angezeigt wird, als wenn man auf google die Maus über das Suchfeld hovert ). Weiß jemand wie die heißt?
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: Anzahl der Zeichen pro Zeile im MLE festlegen
Hmm,
entweder meinst Du das Mäuseschwänzchen (Tooltip genannt), oder die :CueBanner bzw. :Balloontip (beides erst in der 1.9 SL1 dazugekommen).
Viele Grüße,
Martin
entweder meinst Du das Mäuseschwänzchen (Tooltip genannt), oder die :CueBanner bzw. :Balloontip (beides erst in der 1.9 SL1 dazugekommen).
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.