当前位置: 首页 > 知识库问答 >
问题:

GLFW_可在创建窗口后调整大小

华旭
2023-03-14

我真的开始使用LWJGL(我刚刚开始),我专注于一件事:当我创建一个窗口并且我想将其设置为不可调整大小时,我使用:

glfwWindowHint(GLFW_RESIZABLE, GL_FALSE);
window = glfwCreateWindow(WIDTH, HEIGHT, TITLE, NULL, NULL);

然而,即使我想在创建窗口后设置它,我也不知道如何设置。我只是尝试在创建窗口后放置命令,但它不起作用:

window = glfwCreateWindow(WIDTH, HEIGHT, TITLE, NULL, NULL);
glfwWindowHint(GLFW_RESIZABLE, GL_FALSE);

那么,我该如何解决这个问题呢?

共有2个答案

韦思淼
2023-03-14

现在,您可以使用以下选项更改glfw窗口属性:

void glfwSetWindowAttrib(GLFWwindow * window, int attrib, int value);

来自glfw3或lwjgl的文档

函数用于设置指定窗口的属性值。

支持的属性有GLFW_DECORATED、GLFW_RESIZABLE、GLFW_FLOATING、GLFW_AUTO_ICONIFY和GLFW_FOCUS_ON_SHOW。

对于全屏窗口,其中一些属性被忽略。如果以后将窗口设为窗口,新值将生效。

对于窗口模式窗口,其中一些属性被忽略。如果以后使窗口全屏显示,新值将生效。

洪和平
2023-03-14

从GLFW窗口指南:

在创建窗口和上下文之前,可以设置许多提示。一些影响窗口本身,另一些影响帧缓冲区或上下文。每次使用glfwInit初始化库时,这些提示都会设置为默认值,可以使用glfwWindowHint单独设置,并使用glfwDefaultWindowHints一次性重置为默认值。

请注意,在创建希望具有指定属性的窗口和上下文之前,需要设置提示。

本质上,您可以通过glfwWindowHint()调用来设置提示,比如窗口是否应该调整大小,它的上下文版本等。下次使用glfwCreateWindow()创建窗口时,将使用这些提示。如果在创建窗口后设置提示,则只有在调用后创建的新窗口才会受到影响。

因此,当前无法在创建后更改某些GLFW窗口属性,例如其大小是否可调整。

 类似资料:
  • 窗口大小,我们可以非常方便的使用width、height调整,但是如何知道 width和height是一个问题? 在 Window 操作系统中,假如我们想要缩放,我们通常会把鼠标移动到窗口的右边栏,和底部边栏,以及右下边栏。 而且在不同的边栏,鼠标呈现的样式也是不一样的。当我们在右边栏的时候我们可以通过cursor: e-resize;模拟鼠标样式。 在底部边栏我们可以通过cursor: s-re

  • #include <stdio.h> void fun1(void) { int i = 0; i++; i = i * 2; printf("%d\n", i); } void fun2(void) { int j = 0; fun1(); j++; j = j

  • 我正在尝试构建一个包含6个窗格(作为父级添加到GridPane布局中)的简单Java项目。我必须在开始时设置窗口大小,并通过参考根布局的宽度和高度,设法将它们均匀地拆分。 但我想要他们调整大小,因为我改变了窗口的大小(使用鼠标,现在他们得到固定的大小)。 下面是我的代码:

  • 问题内容: 我有以下JQuery代码: 唯一的问题是,这仅在首次加载浏览器时有效,我是否还希望在调整窗口大小时进行检查? 有任何想法吗? 问题答案: 这是一个使用jQuery,javascript和css处理调整大小事件的示例。 (如果您只是通过调整大小来设置样式(媒体查询),最好的方法是CSS) [ CSS javascript jQuery 如何停止调整大小的代码执行如此频繁! 这是绑定到调整

  • 问题内容: 我有以下JQuery代码: 唯一的问题是,这仅在首次加载浏览器时有效,我是否还希望在调整窗口大小时进行检查? 有任何想法吗? 问题答案: 这是一个使用jQuery,javascript和css处理调整大小事件的示例。 (如果您只是通过调整大小来设置样式(媒体查询),则最好的方法是CSS) CSS javascript jQuery 如何停止调整大小的代码执行如此频繁! 这是绑定大小调整

  • 问题内容: 我有一个具名的,不需要让用户调整其大小。当然,我可以在每次用户尝试时重新调整它的大小,但是有什么办法不让用户将窗口打开到全屏或拉伸窗口呢? 问题答案: 编辑/更新: Xcode 10.2•Swift 5 NSWindow具有一个称为styleMask的属性,该属性使您可以控制用户可以使用哪种控件。如果不想让用户调整窗口大小,则必须使用mutating方法删除样式掩码.resizable