Ver Mensaje Individual
  #5  
Antiguo 06-10-2008
ivanloco ivanloco is offline
Miembro
 
Registrado: abr 2006
Posts: 30
Reputación: 0
ivanloco Va por buen camino
Perdon por seguir insistiendo, pero finalmente decidi tratar de implementar el doble buffer porq me ayudaria en varias cosas.
Encontre en un articulo (http://delphi.about.com/library/bluc/text/uc052102g.htm) esta solucion :

Código:
Bmp := TBitmap.Create;
try
  Bmp.Width := ClientWidth;
  Bmp.Height := ClientHeight;

  // Draw lines onto the **bitmap's** canvas 
  for i := 0 to 20000 do
  begin
    Bmp.Canvas.MoveTo(Random(ClientWidth), Random(ClientHeight));
    Bmp.Canvas.LineTo(Random(ClientWidth), Random(ClientHeight));
  end;

  Canvas.Draw(0,0, Bmp); // draw the bitmap to screen now
finally  
  Bmp.Free;
end;
Lo que esto trata de hacer es, primero dibujar todo al canvas del componente TBitmap y luego pasarselo al Canvas del form.
Parece ser una buena solucion para dibujar todo de una y que no se vea como se va dibujando paso a paso.
El problema que tengo es que uso un componente timer y cada vez que ejecuta llama a este codigo de manera que la imagen vuelve a parpadear.
Active la propiedad Doublebuffer del form a true pero no cambia en nada el resultado, ya no se que hacer.
Si alguien se da cuenta de mi error por favor digame como solucionarlo. Gracias
Responder Con Cita