Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#7

AW: canvas wird überschrieben

  Alt 18. Apr 2013, 11:47
Also mit folgender Vorgehensweise hält man sich alle Möglichkeiten offen:
Delphi-Quellcode:
procedure TForm1.Zeichnen(ACanvas:TCanvas);
begin
  ACanvas.MoveTo(10,500);
  ACanvas.LineTo(300,500);
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
  Zeichnen(self.Canvas);
end;
So sollte man eigentlich immer vorgehen, ganz gleichgültig ob man auf dem Canvas des Formulars, einer Paintbox oder auf ein Image zeichnen möchte.
Damit ist es auch kein Problem die gezeichneten Daten z.B. auf dem Printer.Canvas auszugeben.
Empfehlenswert ist auch der Zeichenmethode zusätzlich die Anfangkoordinaten mitzugeben:
Delphi-Quellcode:
procedure TForm1.Zeichnen(ACanvas:TCanvas; x,y:Integer);
begin
  ACanvas.MoveTo(10+x,500+y);
  Mit Zitat antworten Zitat