![]() |
Flackern beim Zeichnen auf Desktop
hallo,
ich habe folgenden Code:
Delphi-Quellcode:
Der Code erzeugt einen roten Kreis, der immer größer wird.
procedure TForm1.Timer2Timer(Sender: TObject);
var DesktopDC: HDC; DesktopCanvas: TControlCanvas; mi,mj:integer; k:real; begin if Timer2.Interval = 1 then timer2.Interval := 20; mbla := mbla+1; mj := trunc(sin((mbla / 180) * Pi)*500+500); Label5.Caption:=IntToStr(mbla); Label6.Caption:=FloatToStr(mj); //bildschirm refreshen, verantwortlich fürs flackern randomize; DesktopDC := GetDC(0); if DesktopDC = 0 then begin //Hier Fehlerbehandlung einfügen end else try DesktopCanvas := TControlCanvas.Create; try DesktopCanvas.Handle := DesktopDC; DesktopCanvas.Brush.Style := bsSolid; DesktopCanvas.Brush.Color:=RGB(255,0,50); DesktopCanvas.Pen.Color:=RGB(255,0,50); DesktopCanvas.Ellipse(0,0,mj,mj); finally DesktopCanvas.Free; end; finally ReleaseDC(0, DesktopDC); end; end; procedure TForm1.Button11Click(Sender: TObject); begin Timer2.Enabled := true; mbla:=0; // golbal definiert end; Doch leider flackert das Bild ganz schön dolle. Vermutlich ist dies dran schuld: Zitat:
Vielen Dank :) |
Re: Flackern beim Zeichnen auf Desktop
Naja du erstellst jedesmal alles wieder neu, merke dir doch einfach am Anfang die Sachen die du brauchst und gebe sie erst am Ende wieder frei!
|
Re: Flackern beim Zeichnen auf Desktop
Wenn du schon Crosspostings quer durch alle Delphi-Foren machst, dann verlinke sie zumindest auch:
![]() |
Re: Flackern beim Zeichnen auf Desktop
Zitat:
Zitat:
|
Re: Flackern beim Zeichnen auf Desktop
Aber man braucht nicht die selbe Lösung drei mal in drei verschiedenen Foren durchkauen.
|
Re: Flackern beim Zeichnen auf Desktop
Zitat:
Aber als Hinweis: Du hast die ganzen Variablen lokal deklariert, das heißt, dass du sie jedes mal wieder Zuweisen musst! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:33 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