AGB  ·  Datenschutz  ·  Impressum  







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

Komponente flackert trotz BitBlt

Ein Thema von Dani · begonnen am 2. Jul 2004 · letzter Beitrag vom 2. Jul 2004
Antwort Antwort
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#1

Re: Komponente flackert trotz BitBlt

  Alt 2. Jul 2004, 19:01
Mhh, an Invalidate hab ich gar nicht gedacht...
Wenn ich jedoch Invalidate durch Paint ersetzte, tritt beim Erstellen der Komponente folgender Fehler auf:
Exception EInvalidOperation : "Element '' hat kein übergeordnetes Fenster."

Delphi-Quellcode:
procedure TVierGewinnt.Paint;
begin
 If Visible then
  BitBlt(Canvas.Handle, 0, 0, Bmp.Width, Bmp.Height, BMP.Canvas.Handle, 0, 0, SRCCOPY); <--- Hier kommt der Fehler
//inherited;
end;
Edit: Sieht so aus, als müsste die Komponente wissen, wer ihr Parent ist... seltsamerweise ging das vorher ohne

Ist zwar nicht besonders elegant, aber ich nehm halt einfach mal an, dass der Owner auch gleichzeitig die Parentfunktion übernimmt :-/

Delphi-Quellcode:
constructor TVierGewinnt.Create(AOwner: TComponent);
begin
  inherited;

 BMP := TBitmap.Create;
 try
  Parent := AOwner as TWinControl;
 except
  Destroy;
  exit;
 end;

{....}
Dafür kann man DoubleBuffered jetzt weglassen, es lag tatsächlich an Invalidate! Danke Jens Schumann
Dani H.
  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 18:42 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