Firemonkey SpeedButton / 按钮

Firemonkey SpeedButton / Button

在 Firemonkey 中,"MAGIC" 是什么使按钮看起来像下面这样?

对我来说,最重要的是图像的大小和按钮内文本的布局,但如何在 firemonkey 中做到这一点?我必须配置哪些属性?这在 VCL 中非常简单。

我在 VCL 和 Firemonkey 中都使用了 speedbutton 和 imagelist。

我在处理这样简单的事情时遇到了麻烦:(

我什至不认为我必须在 firemonkey 中做一些更复杂的事情,几乎要回到 VCL,悲伤。

谢谢。

Firemonkey 有一个很棒的内置样式系统,甚至还有一个与常规 Firemonkey 或 VCL Form-Designer 完全一样的样式系统。

每个组件都有自己的样式,在 TStyleBook 组件中定义。 我推荐你,只需从组件列表中添加一个 TStyleBook 到你的表单并双击它。 Delphi/RAD Studio 将打开 "Style Designer",您可以在其中为所需的每个组件设置默认样式。您还可以为同一组件定义自定义样式,这样您就可以将常规 TSpeedButton 与包含额外 TImage 的自定义样式一起使用。要为 TSpeedButton 创建自定义样式,只需将 TSpeedButton 放在您的窗体上并在其上按下鼠标右键,然后按下类似 "Edit Custom Style" 的按钮。 (我的 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)的参数是未激活。