如何在.net中使用彩色光标

在.net提供的cursor中,使用Cursor的构造函数可以创建一个光标,如:
Cursor cur=new Cursor(“myCursor.cur”);

但是采用这种方式得到的光标不支持动画和彩色,网上有人提出可以使用图标文件来做彩色光标,如:
Cursor cur=new Cursor(“myCursor.ico”);
用这种方式虽然可以解决光标颜色问题,但是丢失了光标的另一个重要信息:热点。这种方式的后果是:所有光标的热点都在图标的中心。

在网上找到了一篇文章,讲述这个问题的。  http://www.dotnet247.com/247reference/msgs/47/239917.aspx
它的思路是:

使用win32的方法创建一个彩色光标的句柄:
IntPtr cursorHandle = LoadCursorFromFile(“myCursor.cur”);

构造一个Cursor对象:
Cursor myCursor = new Cursor(cursorHandle );

注意:在类中需要声明
   [DllImport("user32.dll")]
  public static extern IntPtr LoadCursorFromFile( string fileName );



posted on 2004-06-01 13:50  wljcan  阅读(2453)  评论(3编辑  收藏  举报

导航