一个复制的快速(非闪烁)鼠标光标移动?

时间:2014-06-17 02:41:13

标签: winapi directx overlay gdi+ directdraw

想象一下,您希望在窗口中复制(模拟)鼠标光标移动(如绘制光标叠加层)。 我有一个窗口,我想要一个非常精确的类似鼠标图标移动当用户移动鼠标但在我的窗口的边界(即移动缩放到我的窗口的边界)。 这意味着如果有3个显示器设置,并且我的窗口在监视器2(中间一个)中是全尺寸的。将光标从显示器1的最左侧移动到显示器3的最右侧将导致窗口中的重复光标从窗口的最左侧移动到窗口的右侧。

之前我曾经有过GDI的闪烁经历。因此,在我想要实现这一点之前,我想知道实现这一点的最佳方法(并且希望最简单/最快的编码方式)。 (我已经设置了RAW输入,因此我得到了鼠标每次移动的消息)

以下是我的想法: GDI:可能是XOR绘图或清除/绘制到缓冲区。 GDI + :? DirectDraw:叠加方法? (我还没有完全看过他们) Direct3D或Windows Media API?

我的主窗口也在一个计时器(500毫秒)中更新自己,并且只是bitblt进入。

此外,如果有人知道类似的项目或教程或来源会很棒。

由于

1 个答案:

答案 0 :(得分:0)

如果您拥有除光标之外的所有图形(预渲染到位图中),则可以通过擦除,使用位图的一部分和剪切来渲染光标,然后将光标重新绘制到新的位置。这是最快的技术。 GDI +足够快,但GDI也可以正常工作。