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

Lubos Pintes lubos.pintes at gmail.com
Sat Oct 7 09:17:28 CEST 2017

Thank you very much for information, I will try it.

Dňa 6. 10. 2017 o 22:43 Martin Frb via Lazarus napísal(a):
> Latest SynEdit uses a custom drawn caret.
> This was introduced to enable multiple carets. That is: having several 
> carets at the same time, to type and edit several locations simultaneously.
> (e.g shift-alt down, gives you 2 carets, one in each row)
> Since Windows does not allow for more than one caret to be created, it 
> was necessary to draw them directly.
> See components\synedit\synpluginmulticaret.pp
> line 1713
>    if ScreenCaret.Painter.ClassType = TSynEditScreenCaretPainterSystem then
>      ScreenCaret.ChangePainter(TSynEditScreenCaretPainterInternal);
> Comment this out. (multicaret will not work / only one caret will be 
> visible).
> Or change
> components\synedit\syneditpointclasses.pas
> line 3085
> TSynEditScreenCaret.ChangePainter
> to always set  TSynEditScreenCaretPainterSystem
> On 06/10/2017 20:57, Lubos Pintes via Lazarus wrote:
>> Hello,
>> After years, I just built a fresh Lazarus from SVN. I ran the IDE, and 
>> noticed immediately that a code editor is completely unusable to 
>> screen reader. I am running Windows and using NVDA. In the past, the 
>> code editor was partially usable. But now, NVDA is unable to see the 
>> caret.
>> So I would like to ask: is caret drawn in some nonstandard way? Or 
>> could I set any settings in options to try to fix this?

More information about the Lazarus mailing list