【问题标题】:How to change Ribbon colors on Windows 10如何在 Windows 10 上更改功能区颜色
【发布时间】:2019-09-02 07:12:17
【问题描述】:

我们正在使用RibbonFramework,它只是 Windows 功能区框架的 Delphi 包装器。一切正常,直到我们开始升级到 Windows 10,颜色设置停止工作。

我们使用BackgroundColor 属性,最终设置UI_PKEY_GlobalBackgroundColor 来更改背景颜色。不幸的是,它只能部分起作用,它永远不会设置正确的颜色,而是带有所选颜色暗示的灰色调。在这种情况下,设置绿色而不是紫色只是一个小细节。

我找不到问题出在哪里,是 Windows 10 颜色设置不起作用还是不再受支持,或者我做错了什么。

您可以在下面看到相同的应用程序TextPad demo 在不同版本的 Windows 上的样子,除了 Windows 10 之外的所有版本都正常工作。我在几十台不同设置的不同电脑上测试了它,结果总是一样的。

Windows 7 (Windows Server 2008)

Windows 8 (Windows Server 2012)

Windows 10 - 内部版本 17763

所有可能的颜色都设置为纯红色

【问题讨论】:

  • 我现在没有可用的 Windows 10 机器,但我刚刚开始考虑 Windows 主题设置。你们有相同(或相似)的设置吗?
  • @TomBrunberg 是的,它是为所有机器全局设置的,它似乎没有任何效果。在 Colorize 页面的预览模式下的 Ribbon Designer 中,您可以设置任何颜色,在 Win 10 上它始终设置灰色阴影,只有应用程序菜单的颜色在变化,甚至是错误的。
  • 根据有关 Windows 10 功能区控件的文档,使用的是 Hue, Saturation, Brightness (HSB) color model 而不是 RGB color model。基于你得到错误颜色的事实,我假设你的应用程序仍在使用RGB based color model,特别是因为所有其他 Delphi 控件都依赖于RGB color model。所以我建议你检查Convert RGB to HSB
  • @SilverWarior 我很清楚这一点,糟糕的颜色转换可能是我看到绿色而不是紫色的原因,但它仍然无法解释为什么无法更改背景颜色。所有功能区颜色设置为纯红色i.stack.imgur.com/fdkN1.png
  • @JerryDodge 没有任何颜色,看起来就像你说的那样,只有灰色和蓝色菜单。我还认为支持已经停止,但如果这是真的,我希望在某个地方找到它的提及。我发现的所有资源都表明没有任何改变,它应该仍然有效。

标签: windows delphi winapi ribbon delphi-10.2-tokyo


【解决方案1】:

这是 Windows 10 v.1809(2018 年 10 月更新)中出现的系统错误。到目前为止,似乎没有什么可做的,也没有办法解决它,除非他们自己修复它。

已经在他们的Gtihub for MicrosoftDocsWindows Desktop Ribbon Developement 论坛上进行了报道。

【讨论】:

    猜你喜欢
    • 2016-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-14
    • 2022-10-24
    • 2019-02-13
    • 1970-01-01
    • 2016-09-03
    相关资源
    最近更新 更多