Zeilenumbruch in Editfeld
-
Hallo Forum!
Ich habe ein kleines Problem. Und zwar besitzt meine Anwendung ein Editfeld, bei dem die Eigenschaft "Vertical Scroll" eingestellt ist. Das heißt, der Benutzer kann entweder selbst mit Return Zeilenumbrüche machen oder aber der Text wird automatisch in der nächsten Zeile fortgesetzt, wenn der Cursor am Ende der Zeile angelangt ist. Nun möchte ich den Inhalt des Editfeldes drucken. Dass die Zeilenumbrüche nur mit
pDC->DrawText()funktionieren, habe ich hier schon gelesen. Allerdings werden so auch nur die vom Benutzer mit Return erzeugten Zeilenumbrüche erkannt. Wie mache ich das jetzt mit Zeilenumbrüchen, die automatisch passieren? Wenn ich mir den String aus dem Editfeld (der über mehere Zeilen im Editfeld geht) in einer MessageBox ausgeben lasse, gibt es dort keine Zeilenumbrüche mehr. Wenn das Programm keine Zeilenumbrüche einfügt, obwohl im Editfeld auf dem Bildschirm welche zu sehen sind...wie frage ich dann ab, ob der Text zu lang ist für mein Blatt Papier, wo er draufgeduckt wird? Ich stehe gerade aufm Schlauch. Wäre toll, wenn mir jemand helfen könnte

-
Habs schon selbst gefunden. Der Parameter DT_WORDBREAK muss gesetzt sein, dann macht das Programm von ganz alleine Zeilenumbrüche!
Beispiel:
CString meinText = "Hier steht dann ein sehr langer Text!"; RECT rctA; rctA.left = 50; rctA.top = -50; rctA.right = 1900; rctA.bottom = -2000; pDC.DrawText(meinText, &rctA, DT_LEFT | DT_WORDBREAK);