You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改GLFW窗口标题栏颜色?适配Windows深色模式

GLFW窗口标题适配Windows深色主题及手动修改颜色方案

适配Windows系统深色主题

GLFW本身没有直接提供适配系统深色主题的接口,需要借助Windows原生API实现。核心是通过DwmSetWindowAttribute函数设置窗口的DWMWA_USE_IMMERSIVE_DARK_MODE属性,让标题栏跟随系统主题切换。

步骤及代码示例:

  1. 创建GLFW窗口后,获取窗口的原生句柄:HWND hwnd = glfwGetWin32Window(window);
  2. 调用DwmSetWindowAttribute开启沉浸式深色模式:
#include <dwmapi.h>
#pragma comment(lib, "dwmapi.lib")

// ... 创建GLFW窗口的代码 ...

HWND hwnd = glfwGetWin32Window(window);
BOOL darkMode = TRUE; // TRUE开启深色模式,FALSE关闭
DwmSetWindowAttribute(hwnd, DWMWA_USE_IMMERSIVE_DARK_MODE, &darkMode, sizeof(darkMode));

手动修改标题栏颜色

同样通过Windows的DwmSetWindowAttribute函数,设置DWMWA_CAPTION_COLOR属性来指定标题栏的RGB颜色值。

代码示例:

#include <dwmapi.h>
#pragma comment(lib, "dwmapi.lib")

// ... 创建GLFW窗口的代码 ...

HWND hwnd = glfwGetWin32Window(window);
COLORREF titleColor = RGB(30, 30, 30); // 自定义深色标题栏颜色
DwmSetWindowAttribute(hwnd, DWMWA_CAPTION_COLOR, &titleColor, sizeof(titleColor));

注意:以上方法仅适用于Windows 10 1809及以上版本,且需要链接dwmapi.lib库。如果要兼容更早系统版本,需要额外做版本判断。

内容的提问来源于stack exchange,提问作者Gasim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 18:09:25