WPF中的自定义光标定位



我正在尝试更改自定义光标的位置。自定义光标的图像总是显示在我想要的位置的下方和右侧,特别是如果我让它出现在控件的左上角——我希望图标显示在左上角区域。如何更改自定义光标在WPF中的绘制位置。

我目前只在xaml中加载Cursor,并且正在Adorner中使用它。理想情况下,根据控件的左上角/右上角/左下角/右下角来更改光标的位置将是一个巧妙的解决方案。

与此相关的是,在控件旋转时,也可以在运行时旋转光标。

光标的热点或"点击点"内置在光标文件本身中,这决定了光标的其余部分相对于您点击的零件的绘制位置。

通常,在.cur文件中,热点的位置存储在字节0a0c中。标准系统指针的值为0000,将热点放置在左上角。

我过去创建过"交叉头发"光标,热点直接位于中心,因此0a0c的值分别为1010(十进制为16和16,因为我制作的是32x32px的光标)。

为了模拟光标的旋转,您实际上需要具有不同热点的不同.cur文件,您可以根据情况需要在代码中交换这些文件。

大多数光标创建工具应该允许您在创建文件时指定热点。我过去使用过IcoFX,这使得放置热点非常容易(2次点击)。

最新更新