Un lugar de encuentro para los programadores de habla hispana

Un lugar de encuentro para los programadores de habla hispana

Buscar

Entrar

Puedes acceder utilizando tu cuenta de usuario del foro.

Si no dispone de cuenta, puede crear una accediendo al formulario de registro del foro.



Rotación de un texto Imprimir
Ideas - C++ Builder

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);
 
 
Comentarios (0)
Para escribir un comentario debes estar registrado