Delphi - Osciloscopio

 
Vista:

Osciloscopio

Publicado por Miguel (1 intervención) el 02/04/2003 02:32:36
En una aplicación recivo datos (un numero entero) por el puerto serie y mi intención es irlo representando en tiempo real en una gráfica, a modo de osciloscopio.
Para ello voy dibujando en el canvas de un TPaintbox un punto cada 50 milisegundos con el valor Y que recivo por el puerto.
El problema es que al redibujar la pantalla (por ejemplo porque moví por encima de ella otra ventana) se borra todo lo que tenia dibujado hasta ese momento.
¿Alguna idea para solucionarlo o para hacer la grafica en tiempo real de otro modo?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Osciloscopio

Publicado por Domingo Seoane (65 intervenciones) el 04/04/2003 02:22:49
Perdona si mi respuesta te parece muy simple pero ¿probaste a dibujar sobre un Timage en vez de sobre un TPaintbox? cuando dibujas sobre un TImage no se borra cuando le pasas con otra ventana por encima. Ademas si para dibujar en el paintbox usas la propiedad canvas obtendras los mismos resultados usando la propiedad canvas del paintbox.
La otra solucion es que redibujar la grafica cada vez que se borre para eso tienes el evento OnPaint del paintbox que se llama cada vez que alguna parte del paintbox tiene que ser redibujada porque a sido borrada. Pero para eso deberias de guardar algun tipo del historial con los valores anteriores y asi poder volver a dibujar la grafica

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Osciloscopio

Publicado por delfino (1216 intervenciones) el 04/04/2003 18:54:15
intente dibujar en el TBitmap del canvas a ver si te sale..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar