Anzahl der Zeichen pro Zeile im MLE festlegen

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
vorti
UDF-Programmierer
UDF-Programmierer
Beiträge: 61
Registriert: Mo, 25. Sep 2017 12:21

Anzahl der Zeichen pro Zeile im MLE festlegen

Beitrag von vorti »

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 ?
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: Anzahl der Zeichen pro Zeile im MLE festlegen

Beitrag von georg »

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.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Anzahl der Zeichen pro Zeile im MLE festlegen

Beitrag von AUGE_OHR »

vorti hat geschrieben: Di, 13. Feb 2018 15:55 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 ?
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
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Anzahl der Zeichen pro Zeile im MLE festlegen

Beitrag von Tom »

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.
Herzlich,
Tom
vorti
UDF-Programmierer
UDF-Programmierer
Beiträge: 61
Registriert: Mo, 25. Sep 2017 12:21

Re: Anzahl der Zeichen pro Zeile im MLE festlegen

Beitrag von vorti »

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?
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16501
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

Beitrag von Martin Altmann »

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
:grommit:
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.
vorti
UDF-Programmierer
UDF-Programmierer
Beiträge: 61
Registriert: Mo, 25. Sep 2017 12:21

Re: Anzahl der Zeichen pro Zeile im MLE festlegen

Beitrag von vorti »

Danke Martin, ich meinte den Balloontip :)
Antworten