![]() |
Repaint nach Verdecken
Hey,
ich programmiere eine OpenGl-verwendende Anwendung, in welcher ich den device context eines TPanels zum Zeichnen benutze. Immer wenn die Anwendung von einer anderen überlagert wurde, ist das Gezeichnete an der Stelle gelöscht. Ich verwende zum Erneuern des Bildes nicht das OnIdle-Event, da dies für diese Anwedung, in welcher das Gezeichnete nicht oft erneuert werden muss overkill wäre. In welchem Event muss ich neuzeichnen, um das "Geschmiere" zu verhindern? |
Re: Repaint nach Verdecken
Hi,
versuch mal
Delphi-Quellcode:
Ich meine hier mal gelesen zu haben das onPaint nach dem verdecken aufgerufen wird (sicher bin ich mir aber nicht).
onPaint
mfg Typh00n |
Re: Repaint nach Verdecken
Danke; so lange ich Dropshadows ausgeschaltet habe funktioniert das.
Nur wenn ich dann wieder in das Programm gehe; das Fenster also halb verdeckt war und ich es anklicke, dann habe ich wieder einen nicht erneuerten Teil. Auch das OnActivate scheint dann nicht neu zu zeichnen; gibts da noch ein Event für? |
Re: Repaint nach Verdecken
Ich denke es ist noch dasselbe Problem, deswegen kein neuer Thread:
Obwohl ich am Ende des OnCreates der Form all mein OpenGL neu zeichnen lasse, ist nichts davon zu sehen, d.h. es sieht aus, als hätte zuvor ein anderes Fenster drüber gelegen und wäre hinterher nicht neu gezeichnet worden. Dabei ist es beim Starten des Programms ganz kurz zu erkennen, wird dann aber wieder "übermalt". Woran liegt das? Welches Event soll ich denn sonst nehmen, wenn ich das OnCreate nicht nehmen kann? |
Re: Repaint nach Verdecken
OnShow sollte das Richtige sein
|
Re: Repaint nach Verdecken
Leider nicht.
Die Zeichenfläche ist immer noch grau. Edit: Hier stand Unsinn... Edit2: Mich wundert das ein wenig, da das OnShow direkt nach Erstellen aufgerufen wird. An der Zeichenroutine kann es aber nicht liegen. Denn das OpenGL wird korrekt gezeichnet, wenn ich zum Beispiel nach Ausführen des Programmes auf einen Button klicke, der die Zeichenroutine ausführt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:43 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