0

我正在使用以这种方式加载的自定义光标:

Bitmap bit = new Bitmap(path);
cur = new Cursor(bit.GetHicon());
Cursor.current = cur;

我的位图是 44x58 png,鼠标热点不是我想要的位置。我寻找了一个属性来更改鼠标热点,但我发现的唯一一个是只读的(cur.Hotspot)。我需要做什么来改变它的坐标?

谢谢

4

2 回答 2

0

在 Visual Studio 中,在图像编辑器中打开光标文件或资源,然后从工具栏中选择热点工具。然后单击新热点并保存文件。AFAIK 无法通过 .NET API 设置热点,但有通过 WIN32 API 的选项,如其他评论中的链接所示。

于 2012-07-17T16:01:51.290 回答
-2

最后,我只是决定隐藏鼠标光标并在热点坐标处绘制位图。建议的解决方案太复杂了。

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) 坐标处的位图绘制为最后一个绘图元素。

于 2012-07-17T20:49:51.187 回答