Einzelnen Beitrag anzeigen

Benutzerbild von ConnorMcLeod
ConnorMcLeod

Registriert seit: 13. Okt 2010
Ort: Bayern
490 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Paint Message abfangen/Herkunft finden

  Alt 3. Apr 2011, 17:02
Servus Uwe,

danke für die flotte Antwort; Du hast Recht, daß Windows selbst die Message sendet, wenn es der Meinung ist ... etc.

In diesem Fall wird mein Fenster erzeugt und gezeigt und damit Ende. Kein anderes Fenster darüber gezeichnet o.Ä. Das Ganze passiert auch innerhalb von Sekundenbruchteilen und ist auf einem superschnellen Rechner vllt gar nicht zu sehen. (Für alle, die sich jetzt denken *Na, und?* sei gesagt, dass beim Zeichnen sehr viel abgefragt wird und das nicht nur Performance kostet, sondern auch logische Fehler produziert).

Es kommt einfach eine zweite WM_PAINT Message daher.
d.h. das Fenster wird gezeichnet, dann nocheinmal. Beim zweitenmal wird es falsch gezeichnet, weil die Logik, die z.B. die Farben berechnet, nicht dafür ausgelegt ist, dass die Berechnung zweimal hintereinander erfolgt (wie gesagt ... nicht mein Code ).

So, als ob irgendeine andere Komponente noch ein Refresh bzw Repaint hinterherschickt. Das würde nach meinem Verständnis Windows ebenfalls dazu veranlassen, die WM_PAINT an meine Applikation zu schicken.

Lt. Callstack ist es beim zweiten Mal auch ein etwas anderer Aufruf.

Hm. Meine nächste Idee ist, der Reihe nach alle Kompos von der Form zu löschen, solange, bis das Phänomen verschwindet.

Deine Argumente haben mich jetzt dazu bewogen, genau zu prüfen, was der Fokus zwischen den beiden WM_PAINTs macht; kann sein, dass der hin- und herspringt.

Danke und lg, Wolfgang
  Mit Zitat antworten Zitat