Как указать жирный вариант шрифта по умолчанию для темы? - PullRequest
1 голос
/ 16 октября 2008

У меня проблемы с совместимостью перекрестных тем в формах Windows. Если вы не установите шрифт для элемента управления в форме окна, он будет использовать системный шрифт с правильными шрифтом и размером. Если вы хотите сделать шрифт полужирным , он жестко кодирует остальные значения системных шрифтов для текущей темы, с которой вы программируете. Например:

System::Windows::Forms::Label^ label1 = gcnew System::Windows::Forms::Label();

this->label1->AutoSize = true;
this->label1->Location = System::Drawing::Point(9, 12);
this->label1->Name = L"lblExample";
this->label1->Size = System::Drawing::Size(44, 13);
this->label1->TabIndex = 3;
this->label1->Text = L"Example Text";

Если я затем изменю свойства этого через редактор свойств, так что bold = true, он добавляет в этой строке:

this->label1->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 8.25F, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point, static_cast<System::Byte>(0)));

Есть ли способ использовать шрифт по умолчанию, но сделать его жирным?

Далее, есть ли способ использовать системный шрифт, но увеличить его на 3 или 4 пункта?

Ответы [ 2 ]

1 голос
/ 16 октября 2008

Вы можете поместить инициализированный модифицированный шрифт непосредственно после вызова InitializeComponent в своем конструкторе.

Кроме того, вы можете использовать один из множества конструкторов для изменения размера.

InitializeComponent();

label1->Font = gcnew System::Drawing::Font(
    label1->Font->FontFamily, 
    label1->Font->SizeInPoints + 4, 
    FontStyle::Bold,
    GraphicsUnit::Point);

Это не даст запутаться представлению дизайна ... но вы также не сможете увидеть его в представлении дизайна.

1 голос
/ 16 октября 2008

Ах, я думаю, что нашел ответ:

this->label1->Font = gcnew System::Drawing::Font(this->label1->Font, FontStyle::Bold);

Но теперь это нарушает представление дизайнера: (

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...