Einzelnen Beitrag anzeigen

Whookie

Registriert seit: 3. Mai 2006
Ort: Graz
445 Beiträge
 
Delphi 10.3 Rio
 
#1

ScrollDC verschmiert ??

  Alt 25. Feb 2011, 20:30
Hallo zusammen!

Ich schreibe gerade an einer Componente (ein TCustomControl Nachfolger) mit der ich einen gepufferten Endlos-Scroller (momentan nur von links nach rechts) realisieren möchte. Das ganze funktioniert auch grundsätzlich. Ich verwende eine Cache-Bitmap (ClientRect-Größe) die ich mit ScrollDC scrolle, dort füge ich dann ein (oder mehrere) neue Spalten ein.

Danach scrolle ich den Canvas des Controls und kopiere dann die neuen Daten von der Cache-Bitmap auf den Canvas des Controls.

Die ganze Bitmap gebe ich im WM_ERASEBKGND aus (hatte ich schon im Paint).

Ein Problem tritt erst auf, wenn ein anderes Fenster das Control so überdeckt, dass "hinter diesem Fenster hervorgescrollt" werden muss. Dann verschmiert das Bild (siehe Anhang) und ich habe bisher keine Möglichkeit gefunden das zu verhindern. Die Frage also, wo muss ich ansetzen, dass das scrollen auch dann funktioniert, wenn das enstpr. Fenster teilweise überdeckt wird?

Edit: Das ganze muss unter Windows XP laufen (in Windows 7 gibts den Effekt nicht)!

TIA
Miniaturansicht angehängter Grafiken
smear.jpg  
Whookie

Software isn't released ... it is allowed to escape!

Geändert von Whookie (26. Feb 2011 um 11:40 Uhr)
  Mit Zitat antworten Zitat