WPF交叉光标的热点是否在十字准线的中间?

时间:2010-02-11 21:19:59

标签: wpf mouse cursor

我在WPF中使用高精度的面向像素的图像程序遇到了惊人的困难,并开始怀疑Cursors.Cross光标热点不在其中心,正如您所期望的那样。

我正在使用Magnifier进行调试,速度为16x,鼠标设置为最低加速度。该代码基于DrawTools from CodeProject

image captured from Magnifier http://www.aussiedesignedsoftware.com/img/WPFCrossCursorHotspotOffset.png

这与Winforms中的游标相同吗?如果是这样,我可以查看该游标的热点 - System.Windows.Input中的Cursor类没有HotSpot属性。

更新

如果有人正在寻找解决方法,在我的情况下,我已经调用了一个委托来过滤点,这样我就可以实现对齐网格行为。将点数抵消1来弥补是微不足道的。这比创建自定义光标容易得多,并且如果它的外观应该改变,我仍然使用股票光标。

1 个答案:

答案 0 :(得分:2)

我有一个经验回答,是的,热点被抵消了。

我修改程序以便通过按键触发图形模式,因此您无需移动鼠标。

使用与上面快照相同的放大镜视图,只需按一个键即可更改模式,在箭头和十字架之间切换光标。

当我切换时,它会绘制光标,使黑线位于正常箭头光标的左上角。

箭头光标热点位于它指向的像素(不是黑色像素)所以是的,十字光标热点不在十字准线的中心!

叹息