改变游标的点击/指向位置

本文关键字:位置 游标 改变 | 更新日期: 2023-09-27 18:03:05

所以默认光标是"Arrow"光标,箭头的左上角(点所在的位置)是点击或与其他控件交互的部分。我怎么能把指向的部分变成箭头的尾部呢?

我所拥有的是一个自定义光标(位图图像),它是一个16 × 16大小的圆圈,我希望它的中心是指针。我有另一个自定义的箭头状光标,指向左下,也是16x16,我希望光标的左下角是指针。光标类中应该有一个属性但我不确定它叫什么

改变游标的点击/指向位置

这实际上在CUR文件格式中指定。

CUR文件格式是一个几乎相同的图像文件格式Microsoft Windows中的非动画游标。唯一的区别在这两种文件格式之间是用于标识它们和的字节在CUR格式头中增加了一个热点;热点是定义为从左上角开始的像素偏移量(以x,y坐标表示)控件实际指向的光标图像的角落老鼠。

可以编辑CUR文件的程序通常允许您指定热点。在这个问题中可以找到更多的信息

您想要的不能通过代码完成。我也想做同样的事情,但这是不可能的。实际上,Cursor类有一个名为HotSpot的属性,它就是您想要更改的点。然而,这个属性是只读的。改变这一点的唯一方法是在文件加载时(在.cur文件上,我建议你使用带光标和图标插件的Paint .net来编辑光标)。重要的是:游标必须是一个文件,而不是一个资源或类似的东西(必须是文件系统上的一个文件)来加载它。请记住,我曾经用其他方法测试过。

我的想法是:当你需要改变热点时编辑光标文件,但是这需要你编写一个api,允许你改变光标文件上的热点。我显然不知道这个文件是如何构建的,所以你必须从这里继续。

希望对大家有帮助