如何在WPF中改变鼠标指针的位置

5

我生成了一个 .cur 文件,用于在我的 WPF 应用程序中使用,鼠标指针默认位置是左上角,我想将其设置为中心。

我在这里找到了一些线程,可以通过设置 HotSpot 来解决这个问题,您可以执行类似以下操作的内容来完成:

public static Cursor CreateCursorNoResize(Bitmap bmp, int xHotSpot, int yHotSpot)
{
        IntPtr ptr = bmp.GetHicon();
        IconInfo tmp = new IconInfo();
        GetIconInfo(ptr, ref tmp);
        tmp.xHotspot = xHotSpot;
        tmp.yHotspot = yHotSpot;
        tmp.fIcon = false;
        ptr = CreateIconIndirect(ref tmp);
        return new Cursor(ptr);
}

问题在于它位于WindowsForms中。在WPF中,Cursor类构造函数不接受IntPtr,它只接受Stream或String(文件路径)。
我该如何在WPF中实现这个,还有其他方法吗?

1
可能是在WPF中设置自定义光标图像热点的重复问题。 - Kami
@Kami 那个线程可以帮助你从.ico文件中获取.cur光标。我已经有了一个.cur格式的光标,我想找到类似于Windows Forms的解决方案,希望我解释得清楚。 - AymenDaoudi
这就是链接答案所做的事情 - 请再次阅读它。 - Kami
1个回答

0

正如@Kami所提到的,我不得不在我的.CUR文件上应用与此thread中提到的相同逻辑,这样它就起作用了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接