Firemonkey按钮填充样式

时间:2013-04-03 15:34:27

标签: delphi firemonkey delphi-xe3

我正在使用Delphi XE3并获得Styles的支持。我想改变按钮的颜色。我可以更改文本颜色OK但是在样式检查器中找不到'fill'属性,可能因为没有TRectangle,只有TSubimage和TRectAnimation用于按钮,我可以找到的所有帮助都指向TRectangle。我错过了什么?

3 个答案:

答案 0 :(得分: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指向它。 / p>

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

我正在使用东京,并且使用了浅绿色石墨风格,但是我还想将蓝色填充更改为另一种颜色。经过一番研究和摆弄,马丁的评论很有帮助,我得以使用样式簿更改按钮的颜色。

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

enter image description here

对于“背景矩形”下的第一个选定矩形,当我将“种类”更改为“无”之外的其他时刻时,您就可以使用它进行任何操作。使用“实心”为它填充实心,或通过将类型更改为“渐变”来为其填充渐变。