Forum: Algorithmen, Datenstrukturen und Klassendesign
by SittingDuck,
17. Nov 2012
Danke schon mal für Euren Input. Ich habe es nun folgendermaßen gelöst:
var n, t: String; r: TRect; ts: TSize;
a, h: Integer; TempList: TStringList;
n := 'Normaler Text und DerSuperlangeTextDerUmgebrochenWerdenMuss';
r := Rect(0, 0, 180, 0); // über 180 Pixel wird umgebrochen
h := DrawText(Image32.Bitmap.Handle, PChar(n), Length(n), r, DT_WORDBREAK or DT_NOPREFIX or DT_CALCRECT);...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by SittingDuck,
14. Nov 2012
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...