Ver Mensaje Individual
  #4  
Antiguo 05-12-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Posiblemente se te borra porque dibujas en él y te olvidas. Pero debes hacerlo en su evento OnPaint para que se redibuje cada vez que sea necesario. Aquí está el ejemplo más detallado y ya probado

Código Delphi [-]
procedure TForm1.PaintBox1Paint(Sender: TObject);
var
  N, Y: Integer;

begin
  // Pintas el fondo del paintbox (blanco en este caso)
  Paintbox1.Canvas.Brush.Color := clWhite;
  PaintBox1.Canvas.Brush.Style := bsSolid;
  PaintBox1.Canvas.FillRect(PaintBox1.ClientRect);

  // Calculas cuantas veces debes repetir la espiral
  N := PaintBox1.Height div Espiral.Height;

  for Y := 0 to N - 1 do
  begin
    PaintBox1.Canvas.Draw(0, Y*Espiral.Height, Espiral);
  end;
end;

Espiral es un TBitmap que creas al principio:

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  Espiral := TBitmap.Create;
  Espiral.LoadFromFile('asterisk_orange.bmp');
end;

y destruyes al final:

Código Delphi [-]
procedure TForm1.FormDestroy(Sender: TObject);
begin
  Espiral.Free;
end;

// Saludos
Responder Con Cita