最近收到几位使用者的来信都是和如何改变FireMonkey TLabel组件的字型和颜色, 这几位使用者都是直接改变TextSettings特性中的Font子特性但却无法改变字型和颜色, 因此来信询问.

FireMonkey的TLabel组件控制组件的字型和颜色其实有2个特性, 分别是StyledSettings和TextSettings, 而且StyledSettings特性优先于TextSettings特性,在内定上StyledSettings特性会设定它的Size和FontColor子特性, 因此StyledSettings特性会根据父代组件的Style来决定TLabel组件控制组件的字型和颜色而忽视TextSettings特性的设定值.因此开发人员可以藉由取消StyledSettings特性的Size和FontColor子特性就可以再设定TextSettings特性的Font子特性来改变字型和颜色:

如果开发人员是便用程序代码动态建立TLabel组件, 那么可以使用下面的程序代码把StyledSettings特性的Size和FontColor子特性取消即可:

myLabel= new TLabel(this);

myLabel ->Parent = this;

myLabel ->StyledSettings = lab2->StyledSettings >> TStyledSetting::FontColor;

myLabel ->StyledSettings = lab2->StyledSettings >> TStyledSetting::Size;

myLabel ->TextSettings->FontColor = TAlphaColorRec::Crimson;

….

https://community.embarcadero.com/blogs/entry/tlabel

05-22 09:13