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

Lubos Pintes lubos.pintes at gmail.com
Tue Oct 10 09:28:20 CEST 2017


Hello Martin,
I didn't try the scrool update fix you requested in another mail, 
however I tried the the redraw-all-lines, this will probably help 
better, I am currently playing with it.
Thank again for help.
Dňa 9. 10. 2017 o 18:20 Martin Frb via Lazarus napísal(a):
> 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