カラーのcurファイルから直接Cursorオブジェクトを作成しようとすると白黒になってしまう。 そこで、icoファイルから一度Iconオブジェクトを作成し、アイコンハンドルをもってCursorオブジェクトを作成する。
この方法では、カラー情報はもとより、半透明のアイコンでも適切に表示される。 ただし、アイコンから作成するため、ホットスポットを設定することができない(アイコンの中心点に指定される。)
Icon ico;
Cursor cur;
private void Form1_Load( System.Object sender, System.EventArgs e )
{
// Iconオブジェクトを作成
ico = new Icon( "E:\\Cursor.ico" );
// IconオブジェクトのハンドルからCursorオブジェクトを作成
cur = new Cursor( ico.Handle );
this.Cursor = cur;
}
Dim ico As Icon
Dim cur As Cursor
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' Iconオブジェクトを作成
ico = New Icon("E:\Cursor.ico")
' IconオブジェクトのハンドルからCursorオブジェクトを作成
cur = New Cursor(ico.Handle)
Me.Cursor = cur
End Sub