Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Endlosschleife in Paint-Methode (https://www.delphipraxis.net/149083-endlosschleife-paint-methode.html)

almisoft 13. Mär 2010 23:12


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:
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;
Nun flackert schon im Entwurfsmodus die Grafik, d.h. wird ständig gelöscht und neu gezeichnet.
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?

blablab 13. Mär 2010 23:39

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 14:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz