Blinking Vertical Line hard to see in a textbox

I have converted a Clipper application to VFP 8.0 and all interface occurs in the main window (_SCREEN) of Foxpro. The following command is used for data entry:

@ 21, 15 say "Enter new Order Number "get cNewNum
read

The data entry shape that is blinking in the textbox is very difficult to see. It is a very narrow vertical line and therefore is hard to pick up.

Is there any way to change the shape from a vertical line to a block shape or anything else (the color) that would be easier to see?

[550 byte] By [max2005] at [2007-12-16]
# 1
I'll be interested to see whatever anyone else answers here, but I don't think so.

The cursor you see is the normal/standard Windows cursor you'll see in all your other Windows applications. I realize that Clipper/DBase-DOS/FoxPro-DOS cursors were a large blinking cursor the size of a single character, but the cursor in a Windows applcation (like the one you see here in this site, as you enter your questions) is what you see in your VFP 8 application.

Drew Speedie
VFP MVP

DrewSpeedie at 2007-9-9 > top of Msdn Tech,Visual FoxPro,Visual FoxPro General...
# 2
What you are asking for is to change the caret. This is not a Windows normal feature but a DOS one. I would advise not to do that as it would not look good in a Windows App and it does not comply with Windows standards. Also you should not be using the ancient @SAY and READ commands in VFP, but VFP forms and objects instead.

That said, VFP only has a SET CURSOR ommand. It does not have control on the shape and size of the caret. For that, you would need to use Windows API. This might create some screen problems in VFP for you.

There is an excellent site for Windows API calls in VFP:
http://news2news.com
Search for cursor. Be aware that some sections are free but some examples require a subscription.

AlexFeldstein at 2007-9-9 > top of Msdn Tech,Visual FoxPro,Visual FoxPro General...
# 3
I played a bit with the Caret API functions. However, it seems that they don't really affect the way VFP displays a caret. Only when I had text highlighted in a textbox my own caret was visible.
What you can do, though, is to create your own textbox class. In the class, you could use a timer to either keep the current character highlighted, or move a semi-transparent shape over the current position. To use the new class instead of the standard textbox, you would have to replace all @...GET commands with @...CLASS.
It's a bit of work and you are tapping into an area here that hasn't been stress tested by many developers around the world. Let us know if you want to try any of these approaches and need help with creating the textbox class.
ChristofWollenhaupt at 2007-9-9 > top of Msdn Tech,Visual FoxPro,Visual FoxPro General...
# 4
Thank you for all of your responses. I was able to work around the caret issue by changing the color of the current get textbox. I accomplished this using the COLOR argument of the READ command. The second color pair controls the color of the current @ ... GET text box. I set the background color to black and the foreground to white. This produces a vertical caret that stands out. For contract, I set the enhanced color of the get textboxes to a gray color.
max2005 at 2007-9-9 > top of Msdn Tech,Visual FoxPro,Visual FoxPro General...