当焦点丢失时,全屏GLFW窗口消失了
Fullscreen GLFW window disappears when focus is lost
我正在创建一个这样的opengl窗口:
auto mode = glfwGetVideoMode(monitor);
mWindowWidth = mode->width;
mWindowHeight = mode->height;
glfwWindowHint(GLFW_RED_BITS, mode->redBits);
glfwWindowHint(GLFW_GREEN_BITS, mode->greenBits);
glfwWindowHint(GLFW_BLUE_BITS, mode->blueBits);
glfwWindowHint(GLFW_REFRESH_RATE, mode->refreshRate);
mWindow = glfwCreateWindow(mWindowWidth, mWindowHeight, "Test", monitor, NULL);
这很好,除了一个主要缺陷:当我将另一个窗口集中在另一个显示器上时,GLFW窗口在后台消失。
如何创建一个(全屏(GLFW窗口,该窗口总是在给定的显示器上?
GLFW的文档可在此处提供http://www.glfw.org/docs/latest/window_guide.html#window_window_windowed_fuldowed_full_screen
从上面的链接
部分:窗口相关提示
GLFW_AUTO_ICONIFY
指定全屏幕窗口是否会自动成像并还原输入焦点丢失的先前视频模式。对于窗口模式窗口,忽略了此提示。
默认值
GLFW_TRUE
接受的值
GLFW_TRUE or GLFW_FALSE
将其设置为GLFW_FALSE
是
glfwWindowHint(GLFW_AUTO_ICONFIY, GLFW_FALSE);
请注意,GLFW_TRUE
和GLFW_FALSE
是并且将永远是1
和0
。
似乎自动最小化对焦点损失的最小化由 GLFW_AUTO_ICONIFY
提示控制,默认情况下启用了。
GLFW_AUTO_ICONIFY
指定全屏幕窗口是否会自动成像并在输入焦点损失上恢复以前的视频模式。
对于窗口模式窗口,忽略了此提示。
可以用:
禁用它glfwWindowHint(GLFW_AUTO_ICONIFY, 0);
相关文章:
- 如何在全屏模式下(在OpenGL中)使背景透明
- 在打开多个其他窗口时使用全屏窗口时帧速率非常低
- 如何以编程方式使窗口全屏显示?
- 当DPI感知,全屏和无框时,客户区域在WM_NCACTIVATE上擦除
- 在 directx11 代码中更改全屏模式下的刷新率不起作用
- 独家全屏使用 Vulkan 1.1 中的VK_EXT_full_screen_exclusive?
- DwmGetWindowAttribute 在全屏模式下无法获得媒体播放器的正确矩形大小
- 当某些应用程序处于全屏模式时,DesktopDuplication API会产生黑帧
- 当焦点丢失时,全屏GLFW窗口消失了
- QPushButton 错误在 QT5 下,同时推动在 macOS 上进入全屏
- 在任何 Windows 版本上全屏显示控制台
- 无法在 DirectX12 下全屏显示
- QT-如何在我的笔记本电脑上全屏显示Qlabel
- q输入对话框使 Unity 任务栏和标题栏在全屏应用程序中可见
- 如何更改网络浏览器全屏视频模式?
- 如何让QWebEngineView全屏显示?
- Win32 透明全屏仅在窗口大小溢出桌面时才有效
- 如何检测是否有任何应用程序进入全屏或退出全屏?
- CIMG显示全屏
- 如何在 WTL 应用程序中设置 CWindowImpl 全屏