Einzelnen Beitrag anzeigen

Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#1

RichEdit: Schlitten soll in Zeilen, nicht in Pixeln scrollen

  Alt 1. Dez 2010, 14:34
Nabend,
Alle bisherigen Probleme konnte ich für meine Komponennte aus der Welt schaffen.
Allerdings bleibt eine sache übrig, die ich machen muss, um es performanter zu machen:

Wenn ich am Schlitten der Scrollbar ziehe, scrollt das Richedit in Pixeln.
Ich möchte aber, dass es in Zeilen Scroleld. Hab mich schon tot gegoogeld und nichts gefunden.

Hintergrund:
Ich Kopiere bei jedem neuzeichnen beime Bitmap ins Richedit(Bitmap dient als backbuffer).
Performanter ist es natürlich, wenn ich nur den bereich neuzeichne, der durch das verschieben sichtbar geworden ist. Und hier liegt das problem:
Wenn die VetScrollbar in Pixeln scrolled, kann ein Zittern entstehen, dass zu unerwünschten nebeneffekte in der darstellung führt.(verschiebungen etc)

Wenn ich aber z.B auf die Pfeile klicke(und somit in ganzen zeilen scrolle) klappt alles wunderbar. Es wird nur neugezeichnet was gebraucht wird und die CPU ist entlastet.

Jemand nen tipp wie ich es hinbekomme, die gescrollten einheiten in Zeilen umzuwandeln?

Zuerst hatte ich es so, dass ich die höhe einer zeile ausgerechnet habe, die gescrolled pixel durch diese höhe geteilt habe, und das wieder mit der höhe der zeile multipliziert habe.
Normalerweise sorgt das für den gewünschten rasterffekt...bei mir irgendwie aber nicht o.O

Hat jemand einen tip?

(Die delphi Ide scrolled z.B. auch nur in Ganzen(mehreren) zeilen, so wärs am besten).

MFG
Memnarch
  Mit Zitat antworten Zitat