增加 FireMonkey TSpeedButton 图像的大小

Increase size of FireMonkey TSpeedButton image

在跨平台应用程序的表单上使用 FireMonkey TspeedButton 时,将 属性 StyleLookup 设置为使用 cameratoolbutton 有什么办法关于更改此图片的大小,我似乎找不到任何东西。

至少有两种方法可以做到这一点,但都是基于使用 stylebook。

首先,最简单的方法 - 在样式簿中编辑 cameratoolbutton 样式:

  1. 将样式加载到样式簿中并打开它
  2. 滚动到 Structure 面板中的 cameratoolbutton

  1. 找到 icon 子项目并更改其在 Object Inspector 中的属性。例如,您可以更改 Align(默认为 Client)和 WrapMode(默认为 Center

第二种方式 - 在 运行时间内完成。将 OnApplyStyleLookup 事件处理程序添加到按钮并编写代码以处理样式项:

procedure THeaderFooterForm.btn2ApplyStyleLookup(Sender: TObject);
var
  obj: TFmxObject;
begin
  obj:=TFmxObject(Sender).FindStyleResource('icon'); // use StyleName of inner object (see prev. picture)
  if Assigned(obj) and (obj is TStyleObject) then // TStyleObject is class of "icon"  (see prev. picture)
    TStyleObject(obj).WrapMode:=TImageWrapMode.Stretch;
end;

注意 1: 默认情况下,你不能改变 cameratoolbutton 的大小,因为当你 运行 程序时,它的大小是 returns 到硬编码值。如果你需要这个,你必须做下一个解决方法:

  1. 将样式簿中的样式保存到 .style 文件
  2. 在任何文本编辑器(例如 Notepad++)中打开此文件
  3. 查找下一个字符串
object TLayout
  StyleName = 'cameratoolbutton'
  Visible = False
  TabOrder = 160
  FixedWidth = 44
  FixedHeight = 44
  1. 删除 FixedXXX 个字符串并保存文件
  2. 将更改后的文件加载到样式簿

注2:样式使用位图,所以如果你需要large/small图片,也许你应该使用自己的图片