Delphi - Рисование многострочного текста в центре прямоугольника

В Delphi я хочу рисовать текст внутри TRect. Я надеюсь на следующую функциональность:

  1. Нарисовать текст с вертикальным центром в TRect
  2. Нарисовать текст с горизонтальным центром внутри TRect
  3. Если есть место для более чем 1 строки текста (с использованием высоты TRect), нарисовать многострочный текст
  4. Если текст не помещается в TRect (либо в одной, либо в нескольких строках), добавьте к тексту многоточие.

Я вижу функцию Windows.DrawText () почти охватывает эту функциональность, однако при написании текста многострочный и вертикально центрированный являются взаимоисключающими.

Мне было интересно, встроена ли эта функциональность в Windows (2000+)? Если нет, есть ли способ сделать это без написания моей собственной функции?

8
задан Simon 10 August 2011 в 07:30
поделиться