AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Endlosschleife in Paint-Methode

Ein Thema von almisoft · begonnen am 14. Mär 2010 · letzter Beitrag vom 14. Mär 2010
Antwort Antwort
Benutzerbild von almisoft
almisoft

Registriert seit: 14. Feb 2007
Ort: Berlin
40 Beiträge
 
Delphi 7 Professional
 
#1

Endlosschleife in Paint-Methode

  Alt 14. Mär 2010, 00:12
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?
Alexander Miehlke
Alexander Miehlke
Wer Schreibfehler findet, darf sie behalten
  Mit Zitat antworten Zitat
blablab

Registriert seit: 3. Jan 2006
509 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Endlosschleife in Paint-Methode

  Alt 14. Mär 2010, 00:39
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:12 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