首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建窗口后的GLFW_RESIZABLE

创建窗口后的GLFW_RESIZABLE
EN

Stack Overflow用户
提问于 2015-06-27 06:42:29
回答 2查看 930关注 0票数 3

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

代码语言:javascript
复制
glfwWindowHint(GLFW_RESIZABLE, GL_FALSE);
window = glfwCreateWindow(WIDTH, HEIGHT, TITLE, NULL, NULL);

但是,即使我想在创建窗口之后设置它,我也不知道如何设置。我只是尝试在创建窗口之后放置命令,但它无法工作:

代码语言:javascript
复制
window = glfwCreateWindow(WIDTH, HEIGHT, TITLE, NULL, NULL);
glfwWindowHint(GLFW_RESIZABLE, GL_FALSE);

那我怎么能解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-27 07:22:11

来自GLFW窗口指南

窗口创建提示 在创建窗口和上下文之前,可以设置许多提示。一些影响窗口本身,另一些影响框架缓冲区或上下文。每次使用glfwInit初始化库时,都会将这些提示的默认值设置为它们的默认值,可以使用glfwWindowHint单独设置这些提示,并使用glfwDefaultWindowHints将其全部重置为缺省值。 请注意,需要在创建窗口之前设置提示,并设置希望具有指定属性的上下文。

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

因此,在创建之后,当前不可能更改某些GLFW窗口属性,比如它是否可以调整大小。

票数 2
EN

Stack Overflow用户

发布于 2021-02-07 03:44:44

现在可以用以下方法更改glfw窗口属性:

代码语言:javascript
复制
void glfwSetWindowAttrib(GLFWwindow * window, int attrib, int value);

来自glfw3伊格勒的文档

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

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

对于全屏窗口,这些属性中的一些会被忽略。如果该窗口稍后被加窗,则新值将生效。

对于窗口模式窗口,这些属性中的一些被忽略。如果窗口稍后变成全屏,则新值将生效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31085982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档