On 05/04/2013 12:04, Mehmet Erol Sanliturk wrote:

Previously I have sent the following message :

http://lists.lazarus.freepascal.org/pipermail/lazarus/2013-March/079951.html

A help is really appreciated very much .

On TcustomControl canvas covering all of the form client area , the caret
is NOT blinking in
Unix ( FreeBSD , Fedora ( 17 , 18 ) ) , but it is blinking in Windows .

Lazarus is installed and used as it is without any change .

What can be done to make the caret blinking in Unix ?

On WIndows the caret is drawn by the OS. This includes hiding it. On windows (afaik) this is done by inverting pixel colors. Neither drawing, nor hiding does require the Control to paint.

AFAIK on linux, the caret is drawn by the Widgetsetcode provided by Lazarus. And hiding the caret, is done by invalidating the area, and therefore only effective, if the control repaints itself.

I do not know what goes wrong in your case, but here are some pointers:
- Check that your control receives regular paint messages, and that it does actually paint the area. (It will get a paint messages for a small clip rect only, and must paint into that clip rect. - If no paint messages are received I have no idea, but maybe it is timer related (I haven't looked that deep, but I guess the caret is triggered by a timer.


--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to