【发布时间】:2013-09-15 14:14:28
【问题描述】:
我们正在开发一个应用程序,该应用程序必须供可能有视觉问题的人使用,涉及使用 kinect 移动光标,因此我们需要将其做得比平时更大。但是,这个应用程序不直接与 kinect 接口,所以我们不能使用它的 API。
我们正在使用 WPF 在 C# (.NET 4.5) 中进行编程。问题是默认光标大小不能大于 32x32 像素或高分辨率设备中的 64x64 像素。
我们首先尝试使实际的鼠标光标不可见,然后使用 Graphics 对象,使用 Graphics.FromHwnd(applicationWindowHandler) 获取。它成功绘制了图像,但它留下了过去光标位置的痕迹。
有没有办法使用常规的 windows 鼠标光标,或者至少有办法删除轨迹(比如强制刷新当前窗口的“无效”方法)?
我们已经尝试了这些解决方案,但没有成功:
www.hsys.com/CustomCursorArticlePart1.htm
www.hsys.com/CustomCursorArticlePart2.htm
csharparticles.blogspot.it/2005/03/custom-drawing-cursors.html
【问题讨论】:
-
您使用的是 Cursor="None" 还是 ForceCursor="None"?如果我使用其中一个,我看不到任何痕迹。
-
如果“图标”实际上是鼠标光标,您将看不到任何痕迹。但是你不能让它大于 32x32 或 64x64。如果您使用从 WPF 主窗口获取的 Graphics 对象来绘制跟随鼠标坐标的自定义图像(隐藏真正的鼠标光标),那么您就有了踪迹
标签: c# .net wpf kinect mouse-cursor