Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#16

AW: Windows 11 - DoubleBuffered Problem

  Alt 26. Okt 2021, 21:15
Es ist die Sache der Entwickler von Delphi das Problem zu lösen.
Würde mich mal interessieren ob das auch mit älteren Delphi Versionen so ausschaut. D2010 zum Beispiel.
Falls ja dann ist eine ein Win11 Problem wenn nicht eins von Delphi.
Ja, es betrifft alle Delphiversionen mindestens ab Version 7.

Aber die Ursache liegt an der Konstruktion der DoubleBuffered Eigenschaft. Denn ohne das klappt ja alles und das Problem gibt es soweit ich bisher gelesen habe auch nur mit Anwendungen, die in Delphi (und C++ Builder?) geschrieben wurden.

Und in anderen Anwendungen aus anderen Entwicklungsumgebungen flackert es nun weniger, sieht aber vollkommen korrekt aus. Von daher liegt es zwar an einer Änderung in Windows, aber die Ursache ist, dass Delphi um das Flackern zu reduzieren zu Tricks greift was die Behandlung der Windows Messages z.B. zum Überschreiben des Hintergrunds angeht.

Deshalb bin ich echt gespannt wie es hier weitergeht. Microsoft hat ja angekündigt, dass alle Anwendungen aus Windows 10 kompatibel sein sollen und sie sich darum kümmern wollen.

btw. Was machst du wenn du 20 Comboboxen hast?
Überall WM_ERASEBKGND überschreiben?
Ich glaube du hast dir den Quelltext nicht richtig angeschaut. Erstens gilt das für das ganze Formular und zweitens musst du wie ich auch geschrieben habe nur die Methode in der VMT der Klasse TComboBox einmal (!) für die ganze Anwendung überschreiben.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat