Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Grafikaufbau flackert (https://www.delphipraxis.net/54732-grafikaufbau-flackert.html)

Timi-loader 10. Okt 2005 17:49


Grafikaufbau flackert
 
hallo
und.. ja ich weiß dieses thema gibts auchschon öfters.. aber ich habe damit irgendwie keinen erfolg gehabt.. also jedenfalls hab ich auchschon vor dem verändern der grafik, also position und so und danach hide-show gemacht aber das reicht immernoch nicht.. also es flackert zwar schon weniger aber die figur selbst die man mittels tatertur über einen timer laufen lässt bewegt sich soch relativ und anscheinend zu schnell für delphi.. also sie flackert ebend..
hat da jemand noch ne andere lösung? ... thx
mfg Timi-loader

idontwantaname 10. Okt 2005 17:52

Re: Grafikaufbau flackert
 
Delphi-Quellcode:
Form1.DoubleBuffered := True;
Am besten im OnCreate oder so aufrufen

Luckie 10. Okt 2005 17:52

Re: Grafikaufbau flackert
 
Was hast du denn bisher gemacht? Und wie und wo zeichnest du?
Hier im Forum suchenDoubelBuffered?
Hier im Forum suchenBitmap im Speicher?
Hier im Forum suchenWM_ERASEBKGND?
...?

Timi-loader 10. Okt 2005 18:11

Re: Grafikaufbau flackert
 
also das mit dem DoubleBuffered hab ich grade ausprobiert.. also flackern tuts icht mehr aber es stockt ziemlich krass.. was warscheinlich an meinem alten rechner liegt aber das programm sollte eigendlich auf älteren rechnern auch laufen..

neue bilder die eingebunden werden nehm ich immer loadfromfile aber das passiert nicht so oft.. hauptsächlich flackerts bei solchen sachen:
Delphi-Quellcode:
procedure TForm1.usTimer(Sender: TObject);
begin
typ1.Hide;
typ1.Left:=typ1.Left + 2;
 typ1.Top:=typ1.Top + 1;
 typ1.Show;
end;
.. was in diesem fall der bewegung bei tastendruck dient(teil davon) .. und in ähnlicher art auch beim "hüpfen" also hoch und runter im wechsel timergesteuert

Luckie 10. Okt 2005 18:18

Re: Grafikaufbau flackert
 
Das wird daran liegen, dass der gesamte Hintergrund neu gezeichnet wird. MSDN-Library durchsuchenWM_ERASEBKGND sollte da Abhilfe schaffen.

Khabarakh 10. Okt 2005 18:21

Re: Grafikaufbau flackert
 
Ein TImage sollte nicht bewegt werden, dazu ist es einfach nicht programmiert. Nimm ein Image, das den ganzen Client-Bereich (bzw. so viel, wie du eben brauchst) abdeckt und arbeite mit einem OffScreenBitmap, wie es Luckie schon erwähnt hat.

Timi-loader 10. Okt 2005 19:04

Re: Grafikaufbau flackert
 
also ich hab jetzt bei den proceduren oben:
Delphi-Quellcode:
procedure WMEraseBkgnd(var Message: TWmEraseBkgnd); message WM_ERASEBKGND;
dazugefügt und einfach irgendwo ins programm:
Delphi-Quellcode:
procedure TForm1.WMEraseBkgnd(var Message: TWmEraseBkgnd);
begin
  Message.Result := -1;
end;
weils so auch in den gefundenen treath drinnen stand.. und ähm.. muss ich nun noch
das mit WMEraseBkgnd(typ1); oder so aufrufen?.. also so dorekt gehts net hab ich schon probiert..

..und das mit dem offscreenbitmap kapier ich nicht ganz o.o


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:49 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