【发布时间】:2020-05-08 19:51:46
【问题描述】:
我正在尝试在动态创建的TLabel 对象中设置字体颜色和字体大小,但它不起作用。
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TLabel *text;
text = new TLabel(Form1);
text->Parent = Form1;
text->Align = TAlignLayout::Center;
text->Margins->Top = 60;
text->Font->Size = 13; // don't works
text->FontColor = TColorRec::Red; // don't works
text->Height = 17;
text->Width = 120;
text->TextSettings->HorzAlign = TTextAlign::Center;
text->TextSettings->VertAlign = TTextAlign::Leading;
text->StyledSettings.Contains(TStyledSetting::Family);
text->StyledSettings.Contains(TStyledSetting::Style);
text->Text = "My Text";
text->VertTextAlign = TTextAlign::Leading;
text->Trimming = TTextTrimming::None;
text->TabStop = false;
text->SetFocus();
}
结果:
【问题讨论】:
-
不确定它是否会有所作为,但请尝试
text->TextSettings->FontColor = ...和text->TextSettings->Font->Size = ...。但是,text->StyledSettings.Contains(TStyledSetting::Family); text->StyledSettings.Contains(TStyledSetting::Style);绝对不会像您认为的那样做,请使用:text->StyledSettings = TStyledSettings() << TStyledSetting::Family << TStyledSetting::Style;或:text->StyledSettings = text->StyledSettings << TStyledSetting::Family << TStyledSetting::Style;不确定是否还需要添加TStyledSetting::FontColor和TStyledSetting::Size。 -
@RemyLebeau 我用你的规格测试过,但结果是一样的 :(
-
您能否在设计时在表单上创建的
TLabel上设置所需的字体属性? -
除了已经说明的内容... 1.
TColorRec::Red;看起来很可疑 我不使用 Delphi 但在 VCL 中:C++ Builder 我会使用clRed代替... 2.text->Font->Size和text->Font->Height正在相互调整比例。 IIRC 大小是宽度,高度是字体的高度,重新计算的参数将具有负值。此外,IIRC 你不能使用任何尺寸,它们会被舍入到所用字体支持的尺寸...
标签: delphi firemonkey c++builder rad-studio