Я пытаюсь установить цвет и размер шрифта в динамически созданном объекте 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
. - person Remy Lebeau   schedule 08.05.2020TLabel
, созданного в форме во время разработки? - person Remy Lebeau   schedule 09.05.2020TColorRec::Red;
выглядит подозрительно Я не использую Delphi, но в VCL: C++ Builder вместо этого я бы использовалclRed
... 2.text->Font->Size
иtext->Font->Height
масштабируют друг друга. Размер IIRC — это ширина, а высота — высота шрифта, а пересчитанный параметр будет иметь отрицательное значение. Также IIRC вы не можете использовать любые размеры, которые они округляют до тех, которые поддерживаются используемым шрифтом... - person Spektre   schedule 09.05.2020