在 Firemonkey 中,使按钮如下所示的“魔法”是什么?
对我来说,最重要的是图像的大小和按钮内文本的布局,但是如何在 firemonkey 中做到这一点?我必须配置哪些属性?这在 VCL 中非常容易。
我在 VCL 和 Firemonkey 中都使用了 speedbutton 和 imagelist。
我在处理这样简单的事情时遇到了麻烦:(
我什至不认为我必须在 firemonkey 中做一些更复杂的事情,几乎要回到 VCL,Sad。
谢谢。
在 Firemonkey 中,使按钮如下所示的“魔法”是什么?
对我来说,最重要的是图像的大小和按钮内文本的布局,但是如何在 firemonkey 中做到这一点?我必须配置哪些属性?这在 VCL 中非常容易。
我在 VCL 和 Firemonkey 中都使用了 speedbutton 和 imagelist。
我在处理这样简单的事情时遇到了麻烦:(
我什至不认为我必须在 firemonkey 中做一些更复杂的事情,几乎要回到 VCL,Sad。
谢谢。
Firemonkey 有一个很棒的内置样式系统,甚至还有一个样式系统,它与常规的 Firemonkey 或 VCL Form-Designer 完全一样。
每个组件都有自己的样式,它在 TStyleBook 组件中定义。我建议您,只需将组件列表中的 TStyleBook 添加到您的表单并双击它。Delphi/RAD Studio 将打开“样式设计器”,您可以在其中为您想要的每个组件设置默认样式。您还可以为同一个组件定义自定义样式,因此您可以将常规 TSpeedButton 与包含额外 TImage 的自定义样式一起使用。要为 TSpeedButton 创建自定义样式,只需将 TSpeedButton 放在您的表单上并在其上按鼠标右键,然后按“编辑自定义样式”之类的内容。(我的 RAD Studio 没有英文版)
要了解如何制作出色的视觉和自定义样式,您应该阅读 Emba 的文档。您可以在此处找到它们:http: //docwiki.embarcadero.com/RADStudio/Tokyo/en/Customizing_FireMonkey_Applications_with_Styles(另请查看以下链接)
当然,学习它的最好方法就是深入研究它。这一点都不难。;)
正如 Rohit 所说,最好的方法是在按钮附近放置一个 TImage,然后使用结构树视图将 TImage 拖到按钮下。将 TImage 的 HitTest 设置为 false,并与 Client 对齐。您的按钮将始终为 48x48,因此您可以在单击 TImage 的 MultiResBitmap 下的添加项目后使用位图按钮加载图像(假设它是 512x512)。
注意如果你想让你的图像透明,我在http://www166.lunapic.com找到了一个很棒的在线编辑器 Lunapic 。
除了其他答案,我建议您对每种视觉组件使用 TRectangle 。您可以一起使用 TRectangle、TImage 和 TLabel 创建一个新的自定义组件。或者您可以每次都在每个组件中一起使用它们。
使用 TRectangle,您可以管理半径、角、笔划、背景颜色等。您唯一需要知道的是,确保您的 TRectangle 组件的 HitTest 参数是活动的,而内部组件的(TImage 和 TLabel)参数是不活动的。