当前位置: 首页 > news >正文

设置窗口标题栏颜色

/// <summary>

/// 统一设置窗口标题栏颜色

/// </summary>

/// <param name="window">目标窗口(this)</param>

/// <param name="bgColor">标题栏背景色(Win32 格式使用)</param>

/// <param name="textColor">标题文字颜色(Win32 格式使用)</param>

/// <param name="contentBg">内容区背景色(WPF 属性使用)</param>

internal static void ApplyTitleBarTheme(this Window window, Color bgColor, Color textColor, Brush contentBg)

{

try

{

// 1. 设置内容区背景 (即原本的 Win.Background)

window.Background = contentBg;

// 2. 设置 Win32 标题栏背景

IntPtr hWnd = new WindowInteropHelper(window).EnsureHandle();

// 转换颜色格式: 0x00BBGGRR

// 3. 设置标题栏背景色

int win32BgColor = (bgColor.B << 16) | (bgColor.G << 8) | bgColor.R;

_ = DwmSetWindowAttribute(hWnd, DwmCaptionColor, ref win32BgColor, sizeof(int));

// 4. 设置标题文字颜色

int win32TextColor = (textColor.B << 16) | (textColor.G << 8) | textColor.R;

_ = DwmSetWindowAttribute(hWnd, DwmTextColor, ref win32TextColor, sizeof(int));

/*// 5. 强制开启沉浸式深色模式(适配 Win11 视觉)

int darkMode = 1;

_ = DwmSetWindowAttribute(hWnd, 20, ref darkMode, sizeof(int));*/

}

catch (Exception ex)

{

// 打印错误或忽略(旧版本 Windows 不支持此 API 会报错)

Debug.WriteLine($"设置标题栏颜色失败: {ex.Message}");

}

}

http://www.jsqmd.com/news/371696/

相关文章:

  • 计数信号量:嵌入式系统中有限资源并发管理的核心机制
  • 生成dfm
  • FreeRTOS信号量控制块深度解析:Queue_t结构体语义重载机制
  • 抢占AI时代新流量入口:doubaoAD以GEO技术赋能企业精准获客 - 品牌2025
  • 综述不会写?10个AI论文网站深度测评,专科生毕业论文写作必备工具推荐!
  • Java计算机毕设之基于springboot的优质农产品销售平台设计和实现基于java+springboot+vue+mysql的农产品预售平台(完整前后端代码+说明文档+LW,调试定制等)
  • 相机标定(Calibration images):外参的旋转和平移到底“相对于谁”?最常见的三种“参考坐标系”(对应三种外参含义)【相对于①世界坐标系、②另一台相机/传感器、③标定板坐标系】
  • Skywalking docker部署
  • 热力图:网络到底学了个啥?
  • FreeRTOS计数信号量原理与STM32实战
  • 2026,智能体按效果付费在多行业走出第一步
  • 告别低效繁琐!降AI率工具 千笔AI VS PaperRed,专科生专属利器!
  • Java计算机毕设之基于springboot的某校大学学生就业信息平台高校学生就业信息推送系统(完整前后端代码+说明文档+LW,调试定制等)
  • 救命神器!千笔ai写作,专科生论文写作救星
  • 【计算机毕业设计案例】基于springboot的五金门窗店铺管理系统(程序+文档+讲解+定制)
  • 吐血推荐!8个AI论文写作软件深度测评,专科生毕业论文+开题报告必备工具
  • 揭秘AI专著撰写工具:功能特点全解析,助你快速产出高质量专著
  • 【计算机毕业设计案例】基于springboot的煤矿安全风险监测与管理系统 煤矿事故管理系统(程序+文档+讲解+定制)
  • 计算机Java毕设实战-基于springboot的煤矿事故管理系统煤矿事故应急管理系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 给孩子补钙可以喝什么品牌的牛奶?这些牛奶用实力助力科学补钙 - Top品牌推荐
  • 【课程设计/毕业设计】基于Vue和springboot框架的线上五金销售系统基于springboot的五金门窗店铺管理系统【附源码、数据库、万字文档】
  • 【计算机基础】-12-为什么不能用全局变量替代mutex,进行临界资源的保护?请举例说明,哪种情况勉强可以?
  • 2026年停车位划线公司权威推荐:路面划线/厂区划线/厂区道路划线/地面划线/市政道路划线/热熔标线/交通划线/选择指南 - 优质品牌商家
  • Java计算机毕设之基于springboot的五金门窗店铺管理系统基于Vue和springboot框架的线上五金销售系统(完整前后端代码+说明文档+LW,调试定制等)
  • 2026年楼道座椅式电梯公司权威推荐:美罗蒂克座椅电梯、美罗蒂克电梯、老人上楼简易电梯、老人简易电梯选择指南 - 优质品牌商家
  • AI时代的内容新范式:doubaoAD探索生成式引擎下的品牌可见路径 - 品牌2025
  • Java计算机毕设之基于Spring Boot的煤矿安全隐患排查与治理系统基于springboot的煤矿事故管理系统(完整前后端代码+说明文档+LW,调试定制等)
  • 【毕业设计】基于springboot的煤矿事故管理系统(源码+文档+远程调试,全bao定制等)
  • Java毕设项目推荐-基于springboot的煤矿安全管理信息系统煤矿事故管理系统【附源码+文档,调试定制服务】
  • 【毕业设计】基于springboot的五金门窗店铺管理系统(源码+文档+远程调试,全bao定制等)