Способ вернуть управление в Windows, когда окно не в фокусе OpenGL - C ++ - PullRequest
0 голосов
/ 13 июня 2011

Мне было интересно, была ли команда OpenGL для возврата управления в Windows, когда окно, в котором происходит рендеринг, больше не является фокусом.Когда она стоит, мышь постоянно перемещается в центр экрана, даже когда она не находится в фокусе.

Есть ли способ обойти это?

Спасибо!

Ответы [ 2 ]

1 голос
/ 13 июня 2011

OpenGL - это API рендеринга; у него нет команд, которые имеют дело с базовой системой управления окнами. WGL, GLX и Apple AGL делают такие вещи. И даже эти API не имеют дело с движением мыши.

Если ваше приложение принудительно перемещает мышь к центру экрана, возможно, это связано с другим используемым вами кодом. Многие из распространенных инструментов для создания окон OpenGL (FreeGLUT, GLFW, Qt, wxWidgets и т. Д.) Имеют команды для захвата мыши и изменения ее положения. Вам нужно будет проверить свой код и документацию любого программного обеспечения, которое вы используете для взаимодействия с вашим окном, чтобы увидеть, в чем проблема.

0 голосов
/ 13 июня 2011

Для окон убедитесь, что вы устанавливаете положение мыши, если окна активны.

if(getactivewindow() == this->hwnd)
    setmousepos()

Возможно, это проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...