当窗口不是焦点OpenGL时,一种将控制权返回给Windows的方法-C ++

问题描述

|| 我想知道当正在渲染的窗口不再是焦点时,是否存在OpenGL命令将控制权返回给Windows。照原样,即使鼠标不在焦点上,鼠标也会不断移动到屏幕中央。 可以解决吗? 谢谢!     

解决方法

        OpenGL是渲染API;它没有处理基础窗口系统的命令。 WGL,GLX和Apple AGL都可以做到这一点。甚至那些API也无法处理鼠标移动。 如果您的应用程序将鼠标迫于屏幕中央,则可能是由于您正在使用其他代码所致。用于创建OpenGL窗口的许多常用工具(FreeGLUT,GLFW,Qt,wxWidgets等)都有捕获鼠标并影响其位置的命令。您需要检查您的代码和用于与窗口交互的任何软件的文档,以查看问题所在。     ,        对于Windows,如果窗口处于活动状态,请确保设置鼠标位置。
if(getactivewindow() == this->hwnd)
    setmousepos()
这可能是问题所在。