lines := TStringList.Create;
lines.Text := 'linia1 krótka#13#10Linia2 długa, która nie mieści się w całości na canvasie i trzeba ją podzielić#13#10Linia3 krótka';
textSize := canvas.TextExtent('LOZL!');
blockHeightL := 6 + textSize.cy * lines.Count;
for n := 0 to lines.Count - 1 do
begin
textSize := canvas.TextExtent(lines[n]);
canvas.TextOut(_Left+7,_Top+2 + (textSize.cy * n),lines[n]);
end;
Mam taki fragment kodu, który na canvasie rysuje kolejne linie ze stringlisty.
I to działa dobrze.
Ale mam problem, jeśli któraś z linii jest za długa. (np powyżej 200px)
Chciałbym (w tym przypadku do drugiej linii) wstawić #13#10 w miejscu spacji która już zmieści się na canvasie, a resztę przenieść do tej string listy do kolejnej linii.
Jak to można najprościej?

