views:

55

answers:

1

I have a fullscreen application running on Windows CE 6.0 which will only be manipulated using the finger or a stylus.

So I don't need the mouse cursor, which I'm hiding using Cursor.Hide().
However, when I use the stylus to manipulate something on the screen, the mouse cursor is printed while the stylus touch the screen.

Is there a way to make the cursor not show when touching the screen?

BTW: the application will be the only thing running, so system-wide solution are possible, but I'd rather keep it inside the application.

+2  A: 

For a system-wide solution, in case you can create the OS, you can remove the mouse cursor component from the catalog (SYSGEN_CURSOR).


For a local solution here is a suggestion (never tried it):
You can replace the icon with a blank icon so you won't see any cursor while inside your form. Once you leave the borders of your form you can restore the usual icon.

Read How to use custom cursors. I checked that the Cursor class is available with the CF. There are two other functions needed to be P/Invoked that are available under CE:

Shaihi
Unfortunately, the `Cursor` class of the compact framework is really limited. I can't instantiate it and it only accepts `Cursors.Default` and `Cursors.Wait`. I'll look into `SYSGEN_CURSOR` but I'm not in charge of building the OS.
Loïc Wolff
Another suggestion I haven't tried: for a system wide solution - you can try to replace the mouse pointer icon on the storage and I guess Windows will use that. If it works, you might need to overwrite it after every boot since it might be RAM based storage.
Shaihi
I assume `Cursor.Hide()` is the same, but did you try `ShowCursor`? http://msdn.microsoft.com/en-us/library/ee506127.aspx
Shaihi