我正在编写一个 OpenGL/DX 应用程序,我在其中读取 WndProc()
中的 WM_INPUT
消息以移动自定义鼠标光标。系统鼠标光标在应用程序窗口上方/中时通过 ShowCursor(false)
隐藏。
问题是当我移动鼠标时,系统鼠标光标仍然移动。所以两个光标(正常系统光标和我的应用程序中的自定义光标)同时移动。鼠标点击也是如此。
所以我的问题是:如何在应用程序运行时阻止系统鼠标光标移动(和单击),以便只有自定义鼠标光标起作用?
最佳答案
光标只是为了显示。隐藏默认光标并绘制您自己的光标不会影响移动和单击。
我猜你在做什么有两种可能性:
如果您只想显示自定义光标,您应该只在鼠标位于窗口内时隐藏系统光标。因此,当光标在您的窗口之外时,用户知道他/她在做什么。或者,您可以使用 ClipMouse 将鼠标限制在窗口内。
如果您完全自己使用 DirectInput 之类的工具来操作鼠标,那么您应该再次使用 ClipMouse。
关于c++ - 如何使用自定义光标防止系统鼠标光标在 C++ 应用程序中移动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16882991/