Flackern bei Paintbox-scrollen
-
Hi
ich visualisiere auf einer PaintBox eine mathematische Kurve.
Dabei wird immer nur ein kleiner Teil der Kurve angezeigt.
Daher hab ich über einen Scrollbar die aktuelle Position in der Kurve realisiert.Das PaintEvent beginnt üblicherweise mit einem FillRect.
Wenn ich jetzt zügiger scrolle, flackert die Paintbox...
Gibt es irgendwelche Tricks, um das zu vermeiden?
Ich bin mir noch nicht sicher, inwiefern mir eine Scrollbox dabei hilft und ob die in meinem Context überhaupt einsetzbar ist. Mir wäre also eine "generelle" Lösung lieber.
-
Double Buffering hilft.
Du zeichnest zunächst in eine Offscreen Bitmap und zeichnest dann die komplette Bitmap per BitBlt auf den Canvas der PaintBox. Es sollten sich genügend Beispiele finden lassen, wenn du danach googelst.
-
Wenn du Double Buffering nicht selbst machen willst kannst du auch ein TImage verwenden.
-
Ich hatte auch überlegt, irgendwo in einer Klasse ein ( nicht sichtbares ) TCanvas-Objekt anzulegen und darauf alles zu zeichnen und dann bei Bedarf dann nur den sichtbaren Ausschnitt per CopyRect in die Zielpaintbox zu kopieren?
Klingt das ausreichend verrückt?
-
Hallo
Genau das hat DocShoe gemeint.
bis bald
akari
-
Hab das schon verstanden.
Ich wollte jetzt nur nochmal sichergehen, dass ich das mit TCanvas und CopyRect machen kann.
Ich schließe aus deinem Post, dass das so möglich ist