1

我正在使用 Delphi XE3 并掌握 Styles 的窍门。我想改变按钮的颜色。我可以更改文本颜色,但在样式检查器中找不到“填充”属性,可能是因为没有 TRectangle,按钮只有 TSubimage 和 TRectAnimation,我能找到的所有帮助都是指 TRectangle。我错过了什么?

4

3 回答 3

3

在 XE3 中,内置系统样式(Win7、WIN8、Mac、MacHD)使用位图作为样式,而不是从基元构建样式。该样式包含一个 png 图像,该图像分为每个控件的部分以及这些控件的各种状态。TSubImage 用于选择图像的适当部分。这可能有子 TRectAnimations 来更改不同状态的选定区域。

修改这种样式的最佳方法可能是保存内置图像(参见http://delphihaven.wordpress.com/2012/09/11/inspecting-the-default-platform-fmx-styles-in-xe3/ ),修改它,将其添加到您的自定义样式簿中,并将您的自定义样式的 SubImage 指向它。

但是请记住,您需要为您使用的所有平台复制上述内容,以便样式匹配并在运行时加载适当的平台。

于 2013-04-03T19:42:06.013 回答
0

“buttonstyle”和“Cornerbuttonstyle”都有一个“背景”,它是一个 TRectangle 并且有一个 fill 属性。

我昨天刚遇到一个类似的问题,试图在运行时更改按钮颜色。在我的情况下,当 Kind 设置为渐变时,我尝试更改颜色属性。我需要更改渐变颜色或将 Kind 更改为 bkSolid。

于 2013-04-03T22:34:10.340 回答
0

我使用的是东京,我使用的是水石墨风格,但我还想将蓝色填充更改为另一种颜色。经过一些研究和摆弄,马丁的评论很有帮助,我能够用样式书改变按钮颜色。

  1. 右键单击按钮,编辑自定义样式。
  2. 找到按钮样式并展开。在我的场景中,样式如下所示:

在此处输入图像描述

对于我的背景矩形下的第一个选定矩形,当我将种类更改为无以外的其他内容时,您就可以随心所欲地使用它。用 Solid 给它一个纯色填充,或者通过将种类更改为 Gradient 给它一个渐变填充。

于 2018-10-24T12:16:27.677 回答