[Lazarus] Lazarus code editor: what happened with the caret?

Martin Frb lazarus at mfriebe.de
Mon Oct 9 18:20:12 CEST 2017


About scrolling due to caret moves.

Not sure if my suggestion in the other mail (7 Oct 15:12 
SynNewScrollBarUpdate) helped?

If not, I can think of 2 causes.

1) The scrollbar change is not noted. If that is the case, I have no 
idea (SynNewScrollBarUpdate does affect this)

2) SynEdit does not redraw all lines, but uses ScrollWindowEx to move 
its canvas.
This is very common. I would not expect this to be an issue. Anyway you 
can force it to redraw all lines (slower, and more battery if on a laptop)
Go to components\synedit\synedit.pp line 4653 inside procedure 
TCustomSynEdit.ScrollAfterTopLineChanged.
the line is currently
       if ScrollWindowEx(Handle, 0, LineHeight * Delta, @srect, @srect, 
0, nil, SW_INVALIDATE)
replace it with
       if false


On 07/10/2017 09:01, Lubos Pintes via Lazarus wrote:
> but there is probably another change, because the NVDA is unable to 
> show me lines after I scrool with a down arrow to try to read the 
> contents. But that may be a NVDA problem.



More information about the Lazarus mailing list