Rotación de un texto

Ejemplo sacado en parte de pag.901. Guia de Desarroyo c++ Builder 5:

// Una Encapsulacion de la VCL de WIN32 LOGFONT
// La Estructura LOGFONT define el atributo de la fuente
TLogFont logFont;
// El Handle de la Fuente (antes de que se aplique el atributo logfont)
HFONT hOldFont;
// El Handle de la Fuente ( despues de que son aplicados los atributos logfont)
HFONT hNewFont;
// Para ver, como pinta cada vez, quitar esta linea
Form1->Refresh();
// Comenzando la Definicion de letras,tamañaos, Color de Fondo ...
Canvas->Font->Name="Arial";
Canvas->Font->Size =24;
// Color de Fondo - RGB(120,100,100);
Canvas->Brush->Color = clInfoBk;
// Crea una Instancia de TLogFont del Canvas, a la fuente Actual
GetObject(Canvas->Font->Handle,sizeof(logFont),&logFont);
// Se asigna 450=45 grados, se ponen en el sentido de las agujas del reloj
logFont.lfEscapement= 450;
logFont.lfOrientation= 450
// Aplica el atributo LogFont al conjunto de caracteres
// actuales y graba el handle en hNewFont
hNewFont=CreateFontIndirect(&logFont);
// Graba el Handle al conjunto de caracteres viejo 
//(el Canvas de la Fuente actual) y pone el conjunto
// de caracteres del Canvas al nuevo conjunto de caracteres
hOldFont=SelectObject(Canvas->Handle,hNewFont);
// Canvas->TextOut(int(2.5*GetDeviceCaps(Canvas->Handle,LOGPIXELSY)),int(3.0*GetDeviceCaps(Canvas->Handle,LOGPIXELSY)),"Rotated TExt!");
// Imprime el Texto Usando la Rotacion de la Fuente
Canvas->TextOut(300,300," ! Texto a Rotar! ");
// Restaure la Fuente vieja, para que ahora el Form Canvas coja la fuente por defecto
SelectObject(Canvas->Handle,hOldFont);
// Borra nuestra Instacia de la nueva fuente
DeleteObject(hNewFont);