我正在使用以这种方式加载的自定义光标:
Bitmap bit = new Bitmap(path);
cur = new Cursor(bit.GetHicon());
Cursor.current = cur;
我的位图是44x58 png,鼠标热点并不是我想要的位置。我找了一个属性来改变鼠标热点,但我发现的唯一一个是只读的(cur.Hotspot
)。我需要做些什么来改变它的坐标?
由于
答案 0 :(得分:0)
在Visual Studio中,在图像编辑器中打开光标文件或资源,然后从工具栏中选择“热点工具”。然后单击新热点并保存文件。 AFAIK没有办法通过.NET API设置热点,但是通过WIN32 API有一些选项,如其他人评论中的链接所示。
答案 1 :(得分:-1)
最后,我决定隐藏鼠标光标并在热点坐标处绘制位图。解决方案建议太复杂了。
cursor = new Bitmap(path);
MouseMove事件中的:
ex = e.X - offx //the x offset of the hotspot
ex = e.X - offy //the y offset of the hotspot
然后在(ex,ey)坐标处绘制位图的最后一个绘图元素。