Moin Moin ...
Man kann ja mit DrawText einen Text z.B. auf dem Canvas eines Bitmaps ausgeben. Wenn man eine fixe Rect-Größe hat und DT_WORDBREAK benutzt, dann wird der Text auch entsprechend an Hand der Leerzeichen bzw. CR/LF umgebrochen. Durch den Parameter DT_CALCRECT bekomme ich ja u.a. die Rect-Höhe zurück und falls ein besonders langes Wort über die maximal vorgegebene Rect-Breite hinaus gehen würde, wird auch diese entsprechend vergrößert.
Und genau um diese langen Worte geht es mir. Beispielsweise ein Link, der ja keine Leerzeichen enthält und auch recht lang werden kann. Meiner Recherche zufolge, könnte ich zwar mit TRichEdit und einer festen Breite incl. dem richtigen Zeichensatz, die Komponente den Umbruch erledigen lassen und danach mit Lines[] die Zeilen abfragen. Nur wegen dieser Funktion möchte ich aber ungern die gesammte Komponente meinem Projekt hinzufügen.
Da würde ich lieber eine eigene Funktion schreiben, wahrscheinlich eine Kombination aus WordWrap und GetTextExtentExPoint, welche mir das zu lange Wort entsprehend umbricht. Erste Ansätze wurden schon mal
hier besprochen. Wahrscheinlich brauche ich das
Rad gar nicht neu zu erfinden, deshalb möchte ich mal Fragen, ob schon jemand einen ersten Ansatz vorweisen kann ... nur um nicht komplett bei Null anfangen zu müssen.
Danke schon mal für Eure Hilfe.