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

TSkLabel未适配主题文本颜色:Windows 11现代暗色模式下文本仍黑

解决TSkLabel在Windows 11现代暗色模式下文本显示黑色的问题
  • 检查控件的StyleName属性
    确保TSkLabel的StyleName设置为适配系统主题的内置值(比如'label'),这类内置样式会自动继承系统主题的颜色配置。如果手动设置过Font.Color,先清空该属性,避免覆盖主题自动适配逻辑。

  • 启用ThemeAware属性
    确认TSkLabel的ThemeAware属性设为True,这个属性是控件响应系统主题切换的开关,若设为False,控件会固定使用初始颜色,不会跟随暗色模式调整。

  • 自定义主题适配逻辑(内置样式失效时)
    可以通过监听系统主题变化事件,手动调整文本颜色:

    1. 注册Delphi VCL的TThemeManager.OnThemeChanged事件
    2. 在事件处理函数中判断当前主题类型,动态设置文本颜色:
      procedure TMainForm.ThemeManagerThemeChanged(Sender: TObject);
      begin
        if TThemeManager.CurrentTheme.Name.Contains('Dark') then
          SkInfoLabel.Font.Color := TAlphaColors.White
        else
          SkInfoLabel.Font.Color := TAlphaColors.Black;
      end;
      
  • 更新Skia4Delphi版本
    旧版本的Skia4Delphi可能存在Windows 11现代暗色模式适配缺陷,尝试升级到最新稳定版,官方后续版本通常会修复这类主题兼容问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 18:42:33