使用图片定义鼠标样式

来源:互联网 发布:腾讯php面试题 编辑:程序博客网 时间:2024/05/06 04:45
/// <summary>    /// 设置鼠标形状    /// </summary>    class CursorGenerator    {        [DllImport("user32.dll")]        [return: MarshalAs(UnmanagedType.Bool)]        public static extern bool GetIconInfo(IntPtr hIcon, ref IconInfo pIconInfo);        [DllImport("user32.dll")]        public static extern IntPtr CreateIconIndirect(ref IconInfo icon);        /// <summary>        /// 创建鼠标形状        /// </summary>        /// <param name="bmp"></param>        /// <param name="xHotSpot">热点X</param>        /// <param name="yHotSpot">热点Y</param>        /// <returns></returns>        public static Cursor CreateCursor(Bitmap bmp, int xHotSpot, int yHotSpot)        {            IntPtr ptr = bmp.GetHicon();            IconInfo tmp = new IconInfo();            GetIconInfo(ptr, ref tmp);            tmp.xHotspot = 0;            tmp.yHotspot = 0;            tmp.fIcon = false;            ptr = CreateIconIndirect(ref tmp);            return new Cursor(ptr);        }        public struct IconInfo        {            public bool fIcon;            public int xHotspot;            public int yHotspot;            public IntPtr hbmMask;            public IntPtr hbmColor;        }    }

原创粉丝点击