leppie wrote: As I read today, the Cursor class only supports black and white cursors. If it is the case that the Cursor class only supports black and white cursors, it changes the nature of my question from 'what am I doing wrong' to 'how can I display coloured cursors'. As Heath Stewart quite justly comments, let me show me what I've done sofar to create, load and display my cursor. I created the cursor with Visual Studio 6.0. (By the way, earlier I created one by selecting "Cursor file" from the "Add New Item" dialog in Visual Studio .Net 2003 but that file appears to be an icon instead of a cursor. In the Properties Window it says "Icon Editor" and the hotspot tool is disabled. My old Visual Studio 6.0 recognised the file as an icon, too. I guess this may be a bug in Visual Studio .Net 2003 and I probably need an update for it. This is a different matter, however.) Anyway, this 16-coloured cursor works fine in a C++ 6.0 project. I also tested one of the coloured cursors that comes with WindowsXP; it also is displayed in monochrome, so I think we can discard the cursor file itself as the problem. I embedded the cursor by setting the Build Action to Embedded Resource. I declare the cursor: private Cursor MyCursor; and in the constructor of my user control I load it: System.Reflection.Assembly ThisDll = System.Reflection.Assembly.GetExecutingAssembly(); System.IO.Stream TheRes; TheRes = ThisDll.GetManifestResourceStream("MyNamespace.MyCursor.cur"); MyCursor = new Cursor(TheRes); (I tried using simply MyCursor = new Cursor(this.GetType(), "MyCursor.cur");or MyCursor = new Cursor(this.GetType(), "MyNamespace.MyCursor.cur"); but that didn't work: the dataStream remains empty, apparently.) I asign the cursor (in special cases) to the user control by: this.Cursor = MyCursor; All in all, I'm doing nothing odd, I would say. So where have my wonderful colours gone? I would appreciate anyone's help on this. I cannot believe C# only allows monochrome cursors. Thanks.