![]() |
zyklisch auf Form.Canvas zeichnen in iOS
Hallo,
kann mir jemand weiterhelfen, warum das unter Windows und Android klappt, aber auf iOS nicht? Auf iOS wird nur das erste OnPaint dargestellt. Der Rest scheint im Speicher des Canvas zu sein, wird aber nicht dargestellt. procedure TCanvasTestForm.FormCreate(Sender: TObject); begin x := 10; y := 10; end; procedure TCanvasTestForm.FormPaint(Sender: TObject; Canvas: TCanvas; const ARect: TRectF); var Brush : TStrokeBrush; begin inc(x,10); inc(y,10); Brush := TStrokeBrush.Create(TBrushKind.Solid, TAlphaColors.Black); Brush.Thickness := 2; with Canvas do begin BeginScene(); DrawLine(PointF(10, 10), PointF(x, y), 1, Brush); EndScene; end; end; procedure TCanvasTestForm.Timer1Timer(Sender: TObject); begin self.OnPaint(self,self.Canvas,rectf(0,0,self.Width ,self.Height)); end; |
AW: zyklisch auf Form.Canvas zeichnen in iOS
Wenn ich ein Label auf das Formular setze und folgendes mache, dann klappt das Zeichnen auch
procedure TCanvasTestForm.Timer1Timer(Sender: TObject); begin Label1.Text := inttostr(x); end; |
AW: zyklisch auf Form.Canvas zeichnen in iOS
Delphi-Quellcode:
?
procedure TCanvasTestForm.Timer1Timer(Sender: TObject);
begin Repaint; end; OnPaint/FormPaint ist ein Event welches aufgerufen wird, wenn neu gezeichnet wird ... sowas ruft man eigentlich nie selbst auf. und da du nie weißt wann und wie oft es aufgerufen wird, gehören dort maximal zeitrelative Berechnungen, aber nicht deine absolute Berechnung, welche demnach in den Timer gehören würde,
Delphi-Quellcode:
aber wenn das Programm bissl stockt, dann höngt es so oder so, womit eine über die Zeit berechnete Position eigentlich besser/richtiger wäre.
procedure TCanvasTestForm.Timer1Timer(Sender: TObject);
begin inc(x,10); inc(y,10); Repaint; end; |
AW: zyklisch auf Form.Canvas zeichnen in iOS
@himitsu
Vielen Dank! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz