![]() |
Endlosschleife in Paint-Methode
Schreibe gerade eine Container-Kombonente "TStateGroupBox", in der in einer TGroupBox ein TImage dargestellt werden soll.
Die Paint-Methode der TGroupBox überschreibe ich dabei:
Delphi-Quellcode:
Nun flackert schon im Entwurfsmodus die Grafik, d.h. wird ständig gelöscht und neu gezeichnet.
TStateGroupBox = class(TCustomGroupBox)
private FImage:TImage; FImages:TCustomImageList; protected procedure Paint; override; public ... end; procedure TStateGroupBox.Paint; begin inherited; FImage.Picture.Bitmap:=nil; FImages.Draw(FImage.Canvas,0,0,0); end; Ich vermute, das Neuzeichnen von FImage bewirkt ein Neuzeichnen der übergeordneten GroupBox. Also wird deren Paint-Methode aufgerufen, die das Image wieder neuzeichnen will -> Endlosschleife! Wie macht man es richtig? |
Re: Endlosschleife in Paint-Methode
Das alles brauchst du doch gar nicht, ein Image wird in der OnPaint Methode automatisch neu gezeichnet. Du musst es nur einmal zeichnen, dann sollte es auch nicht mehr flimmern.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:03 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