2016-03-08 64 views
2

Delphi XE-6自定义Firemonkey样式 - 链接控件和样式之间的属性?

我想创建我自己的TGroupBox控件的样式。

我看了很多演示和教程,但似乎无法找出这一个。

如何使控件中的文本变为空白并显示在样式的文本控件上?

我知道它与StyleName有关,但我不知道我做错了什么。

有人可以提供一个简单的例子吗? 例如,一个TGroupbox - 在顶部有一个标题,但是如果你想在横幅上从顶部开始,它会怎样。创建我可以做的横幅,但是我怎样才能将横幅上的文本项目与控件的标题属性相链接?

thanx

回答

4

您不必自己进行链接。

的FireMonkey控制自己做:

function TPresentedTextControl.FindTextObject: TFmxObject; 
begin 
    Result := FindStyleResource('text'); // Do not localize 
end; 

确保您的范本:文本控件被命名为text

我做了一个小例子是这样的:

enter image description here

object TStyleContainer 
    object TLayout 
    StyleName = 'grouboxstylebottom' 
    Padding.Left = 2.000000000000000000 
    Padding.Top = 8.000000000000000000 
    Padding.Right = 2.000000000000000000 
    Padding.Bottom = 2.000000000000000000 
    Position.X = 410.000000000000000000 
    Position.Y = 360.000000000000000000 
    Size.Width = 120.000000000000000000 
    Size.Height = 100.000000000000000000 
    Size.PlatformDefault = False 
    Visible = False 
    TabOrder = 0 
    object TStyleObject 
     StyleName = 'background' 
     Align = Client 
     CapMode = Tile 
     Locked = True 
     SourceLookup = 'Windows 10 Desktopstyle.png' 
     Size.Width = 116.000000000000000000 
     Size.Height = 90.000000000000000000 
     Size.PlatformDefault = False 
     WrapMode = Tile 
     SourceLink = < 
     item 
      CapInsets.Left = 2.000000000000000000 
      CapInsets.Top = 2.000000000000000000 
      CapInsets.Right = 2.000000000000000000 
      CapInsets.Bottom = 2.000000000000000000 
      SourceRect.Left = 166.000000000000000000 
      SourceRect.Top = 83.000000000000000000 
      SourceRect.Right = 213.000000000000000000 
      SourceRect.Bottom = 130.000000000000000000 
     end> 
     object TPanel 
     StyleName = 'banner' 
     Align = Bottom 
     Position.Y = 70.000000000000000000 
     Size.Width = 116.000000000000000000 
     Size.Height = 20.000000000000000000 
     Size.PlatformDefault = False 
     TabOrder = 0 
     end 
     object TText 
     StyleName = 'text' 
     Align = Bottom 
     ClipParent = True 
     Locked = True 
     HitTest = False 
     Margins.Left = 1.000000000000000000 
     Margins.Top = 2.000000000000000000 
     Margins.Right = 1.000000000000000000 
     Margins.Bottom = -15.000000000000000000 
     Position.X = 1.000000000000000000 
     Position.Y = 70.146484375000000000 
     Size.Width = 114.000000000000000000 
     Size.Height = 14.853515625000000000 
     Size.PlatformDefault = False 
     Text = 'Groupbox' 
     TextSettings.Font.Family = 'Showcard Gothic' 
     TextSettings.WordWrap = False 
     end 
    end 
    end 
end 

所以最终的控制将是这样的:

enter image description here

设置你的分组框中的StyleLookup在这种情况下为groupboxstylebottom

+0

啊,明白了!正是我在找什么 - 谢谢! – JakeSays