2012-02-19 34 views
1

在这种情况下,我通过RADStudio XE2在FireMonkey HD应用程序上创建了一个默认按钮。然后我为该按钮创建了一个名为“Style1”的自定义样式。这种风格与默认的按钮风格非常相似,但是它在TText控件旁边有一个TImage控件。如何在样式设计器之外编辑FireMonkey风格内的控件?

简而言之,一个带有图片旁边图片的按钮。

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

回答

3

你可以在运行时做到这一点。首先你必须命名你的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; 
1

您可能会感兴趣我TBitmapSpeedButton控制,它有这个功能随时推出: http://monkeystyler.com/blog/entry/my-first-firemonkey-custom-control-tbitmapspeedbutton 加上更新将图像从加载一个风格资源: http://monkeystyler.com/blog/entry/tbitmapspeedbutton-loading-images-from-the-style

+0

我试图让这个组件在XE6上工作。管理得到它编译,但无法让它显示图像。不知道为什么。 – rhody 2014-07-02 04:04:49

+0

我的组件是为XE2编写的。自那时以来,FM已经发生了很大的变化,所以它需要对XE6进行一些更新。基本原则应该仍然有效。 – 2014-07-02 17:31:51

相关问题