PDA

Ver la Versión Completa : tcanvas alineado a la derecha


rebollo75
26-11-2005, 11:38:27
Hola a todos.

Hay alguna forma de imprimir con el tcanvas alineado a la derecha para poder imprimir digitos con decimales?

printer.Canvas.TextOut(2400,y,'123.05');
printer.Canvas.TextOut(2700,y,'12.35');

Muchas gracias.

luisgutierrezb
26-11-2005, 15:26:25
si, si la hay, pero es con APIs, se llama "DrawText", de la ayuda del win32:
int DrawText(
HDC hDC, // handle to device context, (el Canvas.Handle)
LPCTSTR lpString, // pointer to string to draw
int nCount, // string length, in characters
LPRECT lpRect, // pointer to structure with formatting dimensions
UINT uFormat // text-drawing flags
);

el uFormat seria, DT_RIGHT + DT_VCENTER (por aquello del alineado vertical)

rebollo75
30-11-2005, 18:45:33
hola luis. he probado poniendo:

rect.Left:=100;
rect.Right:=100;
rect.Bottom:=100;
rect.Top:=100;
printer.BeginDoc;
printer.Canvas.TextOut(1000,0,'1,00'); //para ver la diferencia
drawtext(printer.Canvas.Handle,'10,00',5,Rect,dt_right);
printer.EndDoc;


pero no me imprime nada, solo la linea del textout. supongo que no estara bien el drawtext, si puedieras orientarme un poco mas?

muchas gracias. un saludo.