问题描述
||
我想知道当正在渲染的窗口不再是焦点时,是否存在OpenGL命令将控制权返回给Windows。照原样,即使鼠标不在焦点上,鼠标也会不断移动到屏幕中央。
可以解决吗?
谢谢!
解决方法
OpenGL是渲染API;它没有处理基础窗口系统的命令。 WGL,GLX和Apple AGL都可以做到这一点。甚至那些API也无法处理鼠标移动。
如果您的应用程序将鼠标迫于屏幕中央,则可能是由于您正在使用其他代码所致。用于创建OpenGL窗口的许多常用工具(FreeGLUT,GLFW,Qt,wxWidgets等)都有捕获鼠标并影响其位置的命令。您需要检查您的代码和用于与窗口交互的任何软件的文档,以查看问题所在。
, 对于Windows,如果窗口处于活动状态,请确保设置鼠标位置。
if(getactivewindow() == this->hwnd)
setmousepos()
这可能是问题所在。