【问题标题】:How do you get default system colors in Firemonkey?如何在 Firemonkey 中获得默认系统颜色?
【发布时间】:2015-03-17 15:24:37
【问题描述】:

在 FireMonkey 中,如何获取常见界面元素的系统颜色?

例如,在 VCL 中,您可以使用其中一种颜色常量(例如,clWindow, clBtnFace, clMenu 用于窗口、按钮和菜单颜色。)或者,如果使用自定义样式,您可以使用 style API's GetSystemColor

但是 FireMonkey 是跨平台的,并且没有等效的常量,也没有在其样式系统中公开的项目。您如何以跨平台的方式获得这些或类似的值?

【问题讨论】:

  • 我假设你需要这个跨平台(你没有说),例如为 Android 或 iOS 或 Windows 或 OSX 获取按钮颜色...是这样,还是 Windows只要? (我重写了你的问题,因为它被否决了,最后包括了我的跨平台假设。)如果它只是 Windows,你可以将 VCL 系统颜色转换为 RGB,然后转换为 FMX 颜色。如果您愿意,我可以添加更多详细信息作为答案。
  • 谢谢,osx+win 桌面,我知道winapi/vcl 方面。我想根据级别创建一个具有不同颜色项目的树视图。我想我不能像在 VCL 中那样只从源代码中做到这一点,需要使用样式资源和大量的 IDE 点击...

标签: delphi colors styles firemonkey delphi-xe5


【解决方案1】:

FireMonkey 没有或不使用任何系统定义的颜色,颜色是显式的 RGBA 值。 FireMonkey 有颜色常量,但它们是固定的 RGBA 值,操作系统在运行时不会解析。简而言之,系统定义的颜色只是 VCL 的 Windows 特定功能,在 FireMonkey 中不可用。

【讨论】:

    猜你喜欢
    • 2020-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-13
    • 2012-10-15
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多