Einzelnen Beitrag anzeigen

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