Почему tfVerticalCenter и tfBottom не работают должным образом в TCanvas.TextRect?

Рассмотрим следующий код:

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) работают, как ожидалось, но вертикальные форматы нет. Кто-нибудь может это объяснить?

5
задан Svein Bringsli 8 September 2010 в 16:18
поделиться