我想将我的 OpenGL 显示设置为最大化。
如果我 setResizeable(true)
,我可以让用户手动执行此操作然后让玩家点击最大化按钮,即as a tester mentioned对用户来说是一个痛苦和不必要的步骤。
我可以将显示大小设置为与玩家屏幕相同的大小,但这看起来很奇怪,而且我不是在寻找全屏模式。
显然我已经可以全屏并设置显示大小,但我目前无法找到任何实际上允许我实际最大化显示的方法。
如果您不明白全屏和最大化( Meta Stack Overflow discussion )之间的区别,那么这里是 Maximized 的说明,这里是对 Fullscreen 的描述.
最佳答案
这篇评论太长了,所以我主要把它贴在这里:
最大化模式:
调用 CreateWindow 或 CreateWindowEx 时,使用 WS_MAZIMIZE
.
hwnd = CreateWindowEx(
WS_EX_CLIENTEDGE,
g_szClassName,
"The title of my window",
WS_MAZIMIZE,
CW_USEDEFAULT, CW_USEDEFAULT, 240, 120,
NULL, NULL, hInstance, NULL);
This thread如果您使用 GLUT,可能会感兴趣。
一个建议 here是
I think you can maximize the window by setting the Display location to 0px,0px and getting the desktop DisplayMode via Display.getDesktopDisplayMode() and then setting this DisplayMode as new DisplayMode.
全屏模式:
setDisplayModeAndFullscreen
public static void setDisplayModeAndFullscreen(DisplayMode mode)
throws LWJGLException
mode.isFullscreenCapable()
是 true
,上下文将变成全屏上下文,显示模式切换到 getDisplayMode()
给出的模式. mode.isFullscreenCapable()
是 false
,上下文将成为窗口上下文,其维度在 getDisplayMode().
返回的模式中给出。 native 光标位置也被重置。 参数:
mode - The new display mode to set. Must be non-null.
Throws:
LWJGLException - If the mode switch fails.
找到 here .
我还找到了 this这似乎是用可能的屏幕模式提交一个数组列表 - 但我不确定
关于opengl - 如何将 OpenGL 显示(由 OpenGL 创建的窗口)设置为最大化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26769496/