代码之家  ›  专栏  ›  技术社区  ›  XylemFlow

如何将样式属性与默认样式进行比较?

  •  0
  • XylemFlow  · 技术社区  · 3 年前

    我正试图为我的Windows应用程序创建一个“暗模式”,但我想保持控件的基本默认样式,只更改颜色。我下载了一个VCL样式(Windows 10 Charcoal),并使用位图样式设计器将其转换为FMX样式。它看起来基本上还可以。然而,也有一些令人讨厌的差异。

    我可以打开样式设计器来编辑参数,但很难知道要更改什么。我想将参数与默认样式进行比较,看看有什么不同,但我该怎么做呢?默认样式似乎是硬编码的,在样式设计器中不可见。

    Here is a demo application of the issues I'm having .在Delphi 11.2中为Windows 32位构建。运行后,可以单击复选框在样式之间切换。我在黑暗模式下有两个问题。

    1. 表单的边界发生变化。表单上的所有组件都因此而移动。我只想改变颜色。我认为我需要在样式设计器中更改windowborderstyle中的一些参数,但摆弄这些参数并没有多大帮助。
    2. 主菜单的行为有所不同。例如,在普通灯光模式下,我可以单击“文件”,然后将光标移动到“编辑”上,“编辑”将自动打开,“文件”将关闭。然而,在黑暗模式下不会发生这种情况。文件保持打开状态。我不知道该改变什么样式来修复它。有趣的是,TMenuBar对象正好相反。通常情况下,菜单不能正常工作,而深色风格的菜单会正常工作!

    如果我有默认样式(浅色)的所有参数,那么我可以与深色样式的参数进行比较,试图找出差异,也许可以解决这些问题。但我不知道该怎么做?

    0 回复  |  直到 3 年前
    推荐文章