Delphi - desenha multilinha de texto no centro de um ret

Em Delphi eu desejo desenhar texto dentro de um TRect. Espero a seguinte funcionalidade:

Desenhe o texto centralizado verticalmente dentro do TRectDesenhe o texto centralizado horizontalmente dentro do TRectSe houver espaço para mais de 1 linha de texto (usando a altura do TRect), desenhe a multilinha de textoSe o texto não couber no TRect (em uma única linha ou em várias linhas), acrescente reticências ao text

Eu posso ver a função Windows.DrawText ()quas cobre esta funcionalidade, no entanto, ao escrever texto, multilinhas e verticalmente centralizadas são mutuamente exclusiva

Eu queria saber se essa funcionalidade está embutida no Windows (2000+)? Caso contrário, existe uma maneira de fazer isso sem escrever minha própria função?

questionAnswers(2)

yourAnswerToTheQuestion