4

有没有办法判断一个窗口当前是否在 GLFW3 中最大化?不是全屏,而是在窗口模式下最大化。

4

2 回答 2

2

我一直在浏览 GLFW3 文档(http://www.glfw.org/docs/latest/),没有任何东西立即跳出来,这很奇怪,因为你认为这将是一个窗口属性,但这里是一些选择:

跟踪- 这是最简单的方法。您可以创建一个布尔变量来跟踪用户何时最大化(或最小化)窗口。然后,您可以查询它以确定窗口当前处于哪种状态。

获取大小- 这并不完全可靠,因为它会根据您的显示器分辨率而变化,但实现起来相当简单。只需使用以下代码获取窗口的大小:

int width, height;
glfwGetWindowSize(window, &width, &height);

然后检查它是否匹配最大窗口分辨率。

操作系统细节- 如果您使用的是 Windows,那么可能值得查看有关如何使用 GLFW 的窗口句柄检查这些属性的 microsoft 文档。要查看的特定页面是:http: //msdn.microsoft.com/en-gb/library/windows/desktop/ms633518 (v=vs.85).aspx

于 2014-08-18T13:42:21.473 回答
2

来自https://www.glfw.org/docs/3.3/window_guide.html#window_maximize

int maximized = glfwGetWindowAttrib(window, GLFW_MAXIMIZED);
于 2020-11-30T19:43:12.550 回答