![]() |
Flimmern bei nicht klassischem XP-Style
Hallo an alle,
also mein Problem ist folgendes: Ich habe ein Programm geschrieben, was eine Diagrammkomponente (RiverSoftAVG Charting Component Suite) benutzt. Wenn ich nun einen netten Schieberegler bewege, werden die Daten geändert. Das entscheidende ist nun: Im klassischen XP Style geschieht das ohne Flimmern. (DoubleBuffered:=true) Bei jeden anderen Style flimmert es aber richtig kräftig. Noch wichtig ist, dass egal, ob ich das Manifest nicht drin habe, oder ob ich auf klassische Ansicht geschaltet habe, macht keinen Unterschied. Beides mal klappt es und sobald mein Programm nicht mehr in der klassischen Ansicht ist, flimmerts. Wisst ihr woran das liegen könnte? Wie kann man es beheben? Gruß Alexander |
Re: Flimmern bei nicht klassischem XP-Style
WM_ERASEBKGND abfangen und dort "Message.Result := 1" ausführen ohne das inherited. Dann kommt es darauf an, ob die Komponente den gesamten Bereich füllt oder sich auf die in WM_ERASEBKGND gefüllten Zeichenfläche verlässt. Macht sie dies, dann werden einige Bereiche nicht neugezeichnet was zu unschönen Pixelresten führt. In diesem Fall müsstest du ebenfalls WM_PAINT und WM_PRINTCLIENT übschreiben und dort den Hintergrund füllen, da der zeitliche Abstand dort auf fast 0 schrumpft und nicht wie bei WM_ERASEBKGND einige Millisekunden beträgt.
|
Re: Flimmern bei nicht klassischem XP-Style
Also erstmal danke für die Antwort.
Zitat:
Zitat:
Also damit auch ich Normalsterblicher das verstehe: Wieso flimmert es bei nicht-klassisch? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:40 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