PDA

Ver la Versión Completa : Poner una nota en un Chart


santi33a
10-08-2006, 14:40:47
Hola a Todos:
Alguien me puede decir como poner una nota o label dentro de un chart en la posición que yo quiera ?

Santiago

dec
10-08-2006, 14:45:40
Hola,

¿Cuenta ese componente con una propiedad "Canvas"? Si es así tal vez pudiera servirte utilizar alguno de los métodos de la clase de esa propiedad, como "TextOut". Prueba a ver y cuentas qué tal va. ;)

santi33a
11-08-2006, 16:04:43
ok, es lo que buscaba, solo que he notado que cuando minimizo y restauro la aplicación el texto desaparece y tengo que volerlo a pintar.
¿ Sabes de otra solución ?

dec
11-08-2006, 16:07:54
Hola,

Tal vez podrías aprovechar el evento "OnPaint" del formulario, o del propio componente (la verdad es que no he tocado mucho estos temas) para actualizar la "nota" que quieres escribir. No sé si, por otro lado, podrías, directamente, crear un "TLabel" en tiempo de ejecución y situarlo "encima" del componente a que te refieres. Tal vez de este modo no tendrías los problemas que dices, pero, prueba con lo que te comento del evento "OnPaint", sea del formulario, sea del componente de marras. ;)

santi33a
12-08-2006, 13:18:04
Hola Dec:
En el evento OnPaint del formilario no me funciona pero lo peor es que no sale cuando lo quiero imprimir (Chart1.print), que es el objetivo final.

santi33a
16-08-2006, 13:41:28
Hola:
Les diré que lo resolví poniendolo en el evento AfterDraw del Chart

procedure TGrafLin.Chart1AfterDraw(Sender: TObject);
begin
with chart1.Canvas do begin
Font.Size := chart1.Legend.Font.Size; // Ojo si no lo pongo en la pantalla me sale bien, pero a la hora de imprimir es un desastre
Font.Style := [fsBold];
Font.Color := Series2.SeriesColor;
TextOut(Series2.CalcXPos(0),series2.CalcYPos(0)+10 ,'Rechazo');
end;


Espero le sirva a alguien

Santiago