Einzelnen Beitrag anzeigen

Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Starkes Flimmern/Flackern

  Alt 19. Sep 2006, 20:55
Hallo Marcel,

bei der Verwendung einer PaintBox ist zu beachten, daß alle Zeichenoperationen in der Behandlungsroutine für Delphi-Referenz durchsuchenTPaintBox.OnPaint durchgeführt werden. Wenn du die eigentlichen Zeichenbefehle aus der Methode Redraw in diese Behandlungsroutine verschiebst, kannst du auf die Aufrufe .BringToFront verzichten:

Delphi-Quellcode:
procedure TFrmMain.PaintBoxPaint(Sender: TObject);
begin
  BitBlt(PaintBox.Canvas.Handle, 0, 0, Bitmap.Width, Bitmap.Height, Bitmap.Canvas.Handle, 0, 0, SrcCopy);
  bitmap.canvas.Draw(0,0,image1.Picture.Graphic);
end;

procedure tFrmMain.ReDraw;
  var R : TRect;
begin
  // Neuzeichnen der Paintbox auslösen
  PaintBox.Invalidate;
{
  // nicht mehr notwendig...
  vgrn.bringtofront;
  :
  hlgw.bringtofront;
}

end;
Ein kleiner Fehler ist mir noch aufgefallen: wenn man die Autos fahren läßt, bevor sie erstellt werden, dann biegen sie an den Ampeln etwas zu früh ab. Ansonsten ist das Programm sehr schön gemacht.

Gruß Hawkeye
  Mit Zitat antworten Zitat