On 05/04/2013 12:20, Mehmet Erol Sanliturk wrote:
On each key press , the pressed character appears on the form area ,
but caret is not blinking even one time .
Well the below is all I know. You may have to debug it yourself.
Only other think that comes to mind (but IIRC that is mainly required
for windows)) is that you need to hide the caret at the start of your
paint handler, and show it again at the end of the pain handler. Also do
not Create a new caret in the paint handler (again Windows).
Does it blink in the IDE? Then you can try and look at SynEdit to find
out how it is done there. (Search FScreenCaret).
On Fri, Apr 5, 2013 at 4:14 AM, Martin <laza...@mfriebe.de
<mailto:laza...@mfriebe.de>> wrote:
On 05/04/2013 12:04, Mehmet Erol Sanliturk wrote:
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