我有一个自定义 Firemonkey 控件,它扩展了TEdit
这是在表单上动态创建的。我试图在创建它时设置它的字体大小:
Search->Font->Size = 15;
但是,控件上的字体保持不变。
我有另一个相同类型的控件,该控件已经在表单上,我可以通过编程方式更改字体大小。我注意到这个控制,如果Size
设置中设置为 falseStyledSettings
属性我可以更改字体,而如果Size
设置设置为 true,我无法更改字体大小。
因此,当我创建自定义控件时,我尝试以编程方式设置Size
属性为 false,但我不知道该怎么做。
我努力了:
Search->StyledSettings.Size = false;
and
Search->StyledSettings = ListBox->StyledSettings - [TStyledSetting.ssSize];
两者都无法编译。如何确保在运行时在我的自定义控件上删除此属性?或者我应该有另一种方法来设置它的字体吗?
但是,控件上的字体保持不变。
我有另一个相同类型的控件,该控件已经在表单上,我可以通过编程方式更改字体大小。我注意到,使用此控件,如果 StyledSettings 属性中的“大小”设置设置为 false,我可以更改字体,而如果“大小”设置设置为 true,则我无法更改字体大小。
这是有记录的行为:
使用 StyledSettings 属性
更改 TTextSettings 类型对象的文本表示属性时,请记住,当您更改属性(上例中的 TextSettings.Font.Size 属性)的值时,仅当 ITextSettings .StyledSettings 属性不包含 TStyledSetting.Size 常量。 The "TStyledSetting 常量和 TTextSettings 属性之间的关系" 表显示了哪些 TStyledSetting 常量控制 TTextSettings 文本表示属性的处理。
FMX.Graphics.ITextSettings
请记住,当您更改属性(例如 TextSettings.FontColor 属性)的值时,仅当 StyledSettings 属性不包含 TStyledSetting.FontColor 常量时,才会实际更改控件的视图。下表显示了哪些 TStyledSetting 常量控制对哪些 TTextSettings 文本表示属性的处理。
TStyledSetting 常量和 TTextSettings 属性之间的关系
TStyledSetting Dependent TTextSettings Meaning
Constant Properties
Family TFont.Family Font name.
Size TFont.Size Font size.
Style TFont.Style Font style (italic, bold).
FontColor FontColor Font color.
Other HorzAlign, VertAlign, How to align and show the text.
Trimming, and WordWrap.
因此,当我创建自定义控件时,我尝试以编程方式将 Size 属性设置为 false,但我不知道如何执行此操作。
C++ 中正确的语法是:
Search->StyledSettings = Search->StyledSettings >> TStyledSetting::Size;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)