![]() |
Wann wird onpaint ereignis Ausgelöst?
Hallo,
Ich habe bei mir im Onpaint Ereignis diesen code stehen:
Delphi-Quellcode:
Es werden jetzt ständig die Kreise gezeichnet. Meine Frage ist jetzt, wann wird das onpaint ereignis ausgelöst???
procedure TForm1.FormPaint(Sender: TObject);
var i:byte; begin for i:=15 downto 1 do paintbox1.canvas.Ellipse(165-10*i,190-10*i,155+10*i,180+10*i); end; Ferby |
Re: Wann wird onpaint ereignis Ausgelöst?
Die Onlinehilfe meint dazu:
Zitat:
|
Re: Wann wird onpaint ereignis Ausgelöst?
Im FormPaint auf die PaintBox zu malen ist falsch. Man malt im OnPaint der PaintBox.
|
Re: Wann wird onpaint ereignis Ausgelöst?
Zitat:
Wo ist da der Unterschied, funktionieren tut beides? Ferby |
Re: Wann wird onpaint ereignis Ausgelöst?
Der Unterschied besteht darin, dass Form.OnPaint aufgerufen wird, wenn ein Teil der Form neu gezeichnet werden muss, und PaintBox.OnPaint, wenn ein Teil der PaintBox neu gezeichnet werden muss. Wenn die PaintBox die ganze Form bedeckt mag da kein Unterschied sein, im Normalfall allerdings schon.
Stell dir mal vor, du hast eine PaintBox auf einer Form platziert, die nur die linke, obere Ecke bedeckt. Nun bewegst du ein anderes Fenster über die rechte untere Ecke deiner Anwendung. Das hat zur Folge, dass Form.OnPaint aufgerufen wird, denn ein Teil der Form wurde vom anderen Fenster übermalt und muss jetzt wiederhergestellt werden. Wenn du dort nun den Inhalt der PaintBox neu zeichnest, ist das überflüssig und Verschwendung von Ressourcen/Rechenzeit, denn die PaintBox wurde ja gar nicht vom anderen Fenster übermalt und muss deswegen auch nicht aufgefrischt werden. |
Re: Wann wird onpaint ereignis Ausgelöst?
Hallo,
danke, das ergiebt Sinn! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:30 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