【问题标题】:How to edit a control within a FireMonkey style outside of the style designer?如何在样式设计器之外编辑 FireMonkey 样式中的控件?
【发布时间】:2012-02-19 04:58:19
【问题描述】:

在这种情况下,我通过 RADStudio XE2 在我的 FireMonkey HD 应用程序上创建了一个默认按钮。然后我为按钮创建了一个自定义样式,名为“Style1”。此样式与默认按钮样式非常相似,但是它在 TText 控件旁边有一个 TImage 控件。

简单来说,就是文本旁边有图片的按钮。

现在,我将图像应用到按钮的 TImage 控件吗?因为如果我将一个图像应用到 TImage 控件 VIA 样式设计器,其他使用该样式的控件也将获得相同的图像。

【问题讨论】:

    标签: delphi firemonkey


    【解决方案1】:

    您可以在运行时执行此操作。 首先,您必须命名您的 TImage 样式对象,例如。 'btnimg' 之后,您可以使用 FindStyleResource 按名称找到它:

    procedure LoadImage(btn : TButton; imgFileName : string);
    var img : TImage;
    begin
        img := btn.FindStyleResource('btnimg') as TImage;
    
        if not assigned(img) then exit;
    
        img.bitmap.LoadFromFile(imgFileName); 
    end;
    

    【讨论】:

      【解决方案2】:

      您可能对我的 TBitmapSpeedButton 控件感兴趣,它具有现成的功能: http://monkeystyler.com/blog/entry/my-first-firemonkey-custom-control-tbitmapspeedbutton 加上从样式资源加载图像的更新: http://monkeystyler.com/blog/entry/tbitmapspeedbutton-loading-images-from-the-style

      【讨论】:

      • 我试图让这个组件在 XE6 上运行。设法让它编译但无法让它显示图像。不知道为什么。
      • 我的组件是为 XE2 编写的。从那时起 FM 发生了显着变化,因此需要对 XE6 进行一些更新。不过,基本原则应该仍然有效。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多