Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi RichEdit: Schlitten soll in Zeilen, nicht in Pixeln scrollen (https://www.delphipraxis.net/156421-richedit-schlitten-soll-zeilen-nicht-pixeln-scrollen.html)

Memnarch 1. Dez 2010 14:34

RichEdit: Schlitten soll in Zeilen, nicht in Pixeln scrollen
 
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:34 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