Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Flimmerfrei - Double Buffered (https://www.delphipraxis.net/76454-flimmerfrei-double-buffered.html)

JAF 4. Sep 2006 20:48


Flimmerfrei - Double Buffered
 
Ich habe mal ein paar wochen mit c# programmiert


Ich suche jetzt für delphi etwas äquivalentes zu dem Double Buffer von c#
um meine ganzen Timages beim Resize Event oder ähnlichem zu buffern

(habe gesucht aber leider nix gefunden)

mfg JAF

BenjaminH 4. Sep 2006 20:49

Re: Flimmerfrei - Double Buffered
 
TForm.DoubleBuffered:=True
Suchfunktion ;-)

CK_CK 4. Sep 2006 20:50

Re: Flimmerfrei - Double Buffered
 
Du musst bei der nächsthöheren Komponente die Eigenschaft "Doublebuffered" auf True stellen...

Bsp.: Form1.DoubleBuffered := True;

JAF 4. Sep 2006 21:00

Re: Flimmerfrei - Double Buffered
 
au man..............


Ich dachte mir schon das es an meiner Delphi Version liegt
bei Delphi 3.0 gibt es diese eigenschaft wohl noch nicht...

ich kann leider nicht aufrüsten da wir an der schule nur delphi3 haben, da ich sonst die an meinem PC programmierten Programme dort nicht benutzen könnte...




gibt es DoubleBuffered für delphi3.0 in irgend einer Form?


mfg JAF

3_of_8 4. Sep 2006 21:09

Re: Flimmerfrei - Double Buffered
 
Du könntest den WinAPI Aufruf nachahmen. Schau mal in der Forms.pas oder wo das deklariert wird nach, wie das implementiert ist.

Muetze1 4. Sep 2006 21:23

Re: Flimmerfrei - Double Buffered
 
Zitat:

Zitat von 3_of_8
Du könntest den WinAPI Aufruf nachahmen. Schau mal in der Forms.pas oder wo das deklariert wird nach, wie das implementiert ist.

Ganz einfach: Die Form legt ein Memory Bitmap an und ruft PaintTo() auf und lässt auf dieses alles malen was auf der Form liegt. Danach mit BitBlt() den Inhalt des Memory Bitmaps auf die Form schmeissen und das Memory Bitmap wieder ermorden.

So, das war die Kurzfassung: Mit anderen Worten: da ist nix mit WinAPI, das ist eine reine VCL Lösung. Wir müssten das afair etwas genauer beschreiben für JAF, aber da fängt es schon damit an, dass er ein TImage nutzt. Also ...

alzaimar 4. Sep 2006 21:26

Re: Flimmerfrei - Double Buffered
 
Oder such nach LockWindow (Win32-API).

JAF 4. Sep 2006 22:02

Re: Flimmerfrei - Double Buffered
 
Danke an euch alle

das mit dem Paintto waere ziemlich aufwendig

ich habe zwar noch keine ahnung von winapi/ win32 api aber wie fuktioniert das mit lockwindow


mfg JAF


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:27 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 by Thomas Breitkreuz