如何使用自定义光标阻止C ++应用程序中的系统鼠标光标移动?

时间:2013-06-02 12:59:00

标签: c++ mouse mouseevent wndproc

我正在编写一个OpenGL / DX应用程序,其中我在WM_INPUT中读取WndProc()个消息以移动自定义鼠标光标。当系统鼠标光标位于应用程序窗口的上方/中时,系统鼠标光标将通过ShowCursor(false)隐藏。

问题是当我移动鼠标时系统鼠标光标仍然移动。因此,两个游标(正常系统游标和我的应用程序中的自定义游标)都在同时移动。鼠标点击也是如此。

所以我的问题是:如何在应用程序运行时阻止系统鼠标光标移动(并单击),以便只有自定义鼠标光标才能正常工作?

1 个答案:

答案 0 :(得分:1)

光标仅供显示。隐藏默认光标并绘制自己的光标不会影响移动和单击。

我猜你正在做的事情有两种:

  1. 如果您只想显示自定义光标,则只需在鼠标位于窗口内时隐藏系统光标。因此,当光标在窗口外时,用户知道他/她在做什么。或者您可以使用ClipMouse将鼠标限制在窗口内。

  2. 如果您使用DirectInput完全自行处理鼠标,则应使用ClipMouse。