Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Auf Screensaver Ende reagieren (https://www.delphipraxis.net/21302-auf-screensaver-ende-reagieren.html)

rantanplan 30. Apr 2004 15:45


Auf Screensaver Ende reagieren
 
Hallo! :hi:

Ich habe ein Programm geschrieben, welches graphische Inhalte innerhalb eines Forms darstellt. Delphi habe ich für das User Interface verwendet, und eine C++ .dll malt in das Fenster (über Handle usw..). Neulich entdeckte ich einen Bug:
Nachdem ein Screensaver angesprungen war und wieder beendet, kann es passieren, dass die Fenster nicht neu gezeichnet werden (also den Inhalt meine ich), und das sieht ziemlich kaputt aus. Ich müsste da einen Refresh erzwingen.

Jetzt die Frage, ob jemand weiss, welche Windows-Message (oder sonst was anderes...) man abfragen muss, um auf das Terminieren eines Screensavers zu reagieren ??

Thanks a lot!

Luckie 30. Apr 2004 16:46

Re: Auf Screensaver Ende reagieren
 
Ich gehe jede Wette ein, das liegt nicht am Screensaver. Sollte dein Fenster von einem anderem überdeckt werden, sieht es wahrscheinlich genauso aus.

Lös die Zeichenroutine im OnPaint Ereigins deiner Form oder der Paintbox, oder auf was du sonst zeichnest, aus. Und im Prinzip zeichent man nicht auf den Canvas, da die GDI Ausgaben extrem langsam sind. Statt dessen zeichnet man auf ein Bitmap im Speicher und kopiert es bei Bedarf (OnPaint) auf den entsprechenden Canvas. Beispiel gibt es hier: http://www.luckie-online.de/Ablage/D...eenBitmap.html


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