Рассмотрим следующий код:
procedure TForm1.PaintBox1Paint(Sender: TObject);
var
vRect : TRect;
vFormat : TTextFormat;
vStr : string;
begin
vStr := 'This is some text';
vRect := rect(10,10,50,130);
vFormat := [tfCenter,tfVerticalCenter,tfWordBreak];
PaintBox1.Canvas.Rectangle(vRect);
PaintBox1.Canvas.TextRect(vRect,vStr,vFormat);
end;
Я ожидал чего-то вроде этого
+--------+
| |
| |
|This is |
| some |
| text |
| |
| |
+--------+
, но получаю это
+--------+
|This is |
| some |
| text |
| |
| |
| |
| |
+--------+
То же самое верно и для формата tfBottom. Горизонтальные текстовые форматы (tfLeft, tfRight, tfCenter) работают, как ожидалось, но вертикальные форматы нет. Кто-нибудь может это объяснить?