Click here to Skip to main content
Click here to Skip to main content

Use Icons for cursors, not ".CUR"

, 16 Mar 2010
Rate this:
Please Sign up or sign in to vote.
Many developers use ".cur" cursor files. Using them myself in Visual Studio 2008, they are not the easiest things to work with for many reasons.They are not easy to create without expensive software. (unless you are using the editor within Visual Studio)They cannot easily be ported in the...
Many developers use ".cur" cursor files. Using them myself in Visual Studio 2008, they are not the easiest things to work with for many reasons.


  1. They are not easy to create without expensive software. (unless you are using the editor within Visual Studio)
  2. They cannot easily be ported in the express editions of Visual Studio, which leaves most hobbyist developers out. (You must first import them as a resource or
  3. Sometimes they can be hard to even link into your code.




To get around using ".cur" files for your cursors, We will be using Icons. With Icons you can still use transparency and create shadows.


You may use either Visual Studio or the VB.NET Express edition(which is free for use):


http://www.microsoft.com/express/Downloads/#2008-Visual-Basic




Step 1:


Create a new VB.net project



note : I am using VB Express






This menu shows the generic Windows cursors

You can access this menu by code as shown.
Step 2:


Getting it ready




To create cursors from icons, you must obviously have an icon to do so with. There are many programs you can use the many Devs or hobbyists might have. I am going to use GIMP: http://www.gimp.org/downloads/ {New window}


GIMP is a free photo manipulator similar to Photoshop, but it can also be used for image creation.


If you do not have an image to use or create, right-click and save this one :




Step 3:

Making it work



Import the Icon as a resource.
Choose the option "Add existing file"




Make sure that the Access Modifier is set to "Public"




Simply put the code that lets the icon get a handle so that it might be used as a cursor.
Me.Cursor = New Cursor(My.Resources.Form1.cursor.Handle)




The finished project

The only foreseeable problem with the use of an icon as a cursor is that the location of the pointer will be in the center of the cursor. This can be easily overcome by making the image larger, while keeping the image in the lower-right corner. As shown:

I also added a shadow to the cursor.







Thank you for reading my Tips 'n Tricks post. I hope to see you in later tips or articles. Cool | :cool:


EDIT: I added a dotted line to the last cursor illustrating where the cursors hotspot will be. I also added a shadow to that cursor.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Bill9603
Student Student
United States United States
No Biography provided

Comments and Discussions

 
Questionthx Alot PinmemberAhmed_online4-May-13 10:12 
QuestionGreat job! Quick question. PinmemberJCI Hunter5-Sep-12 10:20 
AnswerRe: Great job! Quick question. PinmemberGlobin19-Dec-12 9:40 
GeneralMy vote of 5 Pinmembernmanjusha16-Apr-12 22:51 
GeneralReason for my vote of 5 Very Simple and Handy PinmemberArghavanMostafa13-Jun-11 8:08 
GeneralReason for my vote of 5 That's awesome! PinmemberUser97016-Aug-10 4:57 
GeneralCursor Software PinmemberZac Greve16-Mar-10 14:51 
Paint.NET (www.getpaint.net) can create icons and cursors (with a free plugin, Icon/Cursor Plugin). The program is free, and it is built in the .NET Framework.
GeneralRe: Cursor Software PinmemberBill96034-Apr-10 17:08 
GeneralRe: Cursor Software PinmemberLittleBlueBird20-Apr-10 5:11 
GeneralRe: Cursor Software PinmemberGlobin21-Dec-12 5:17 
GeneralRe: Cursor Software PinmemberLittleBlueBird13-Apr-13 5:00 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web03 | 2.8.140709.1 | Last Updated 16 Mar 2010
Article Copyright 2010 by Bill9603
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid