Графические примитивы. Текст (продолжение)

   
На этом шаге мы рассмотрим вывод текста созданным шрифтом.

   
В примере предыдущего шага для вывода текста используется шрифт формы, заданный свойством Font. Если текст надо вывести шрифтом, отличным от шрифта,
заданного для формы, то этот шрифт следует создать - объявить и инициализировать объект типа Font.

   
Инструкция создания шрифта (вызова конструктора) выглядит так:

  System::Drawing::Font^ aFont = 
    gcnew System::Drawing::Font(FontFamily,Size,FontStyle); 

   
Параметр FontFamily (строкового типа) задает шрифт, на основе которого создается новый (определяет семейство, к которому относится создаваемый шрифт). В
качестве значения параметра FontFamily можно использовать название шрифта, зарегистрированного в системе (Arial, Times New Roman, Tahoma).
Параметр Size задает размер (в пунктах) шрифта. Параметр FontStyle определяет стиль символов шрифта:

  • FontStyle::Bold - полужирный;
  • FontStyle::Italic - курсив;
  • FontStyle::UnderLine - подчеркнутый.

   
Параметр FontStyle можно не указывать. В этом случае будет создан шрифт обычного начертания (FontStyle::Regular).

   
Следует обратить внимание, что изменить характеристики созданного шри-та нельзя (свойства FontFamily, Size и Style объекта Font
определены "только для чтения"). Поэтому если в программе предполагается использовать разные шрифты, их необходимо создать.

   
В примере ниже приведена функция обработки события Paint, демонстрирующая создание и использование шрифтов для вывода текста на поверхность формы
(рисунок 1).

private: System::Void Form1_Paint(System::Object^  sender, 
       System::Windows::Forms::PaintEventArgs^  e) {
	 int x,y;
	 x = 10;
	 y = 10;

	 String^ st = "Microsoft Visual Studio 2010";

	 System::Drawing::Font^ rFont = gcnew System::Drawing::Font 
               ("Tahoma", 11, FontStyle::Regular);
	 System::Drawing::Font^ bFont = gcnew System::Drawing::Font 
               ("Tahoma", 11, FontStyle::Bold);
	 System::Drawing::Font^ iFont = gcnew System::Drawing::Font 
               ("Tahoma", 11, FontStyle::Italic);

	 e->Graphics->DrawString(st, rFont, Brushes::Black, x, y);
	 e->Graphics->DrawString(st, bFont, Brushes::Black, x, y+20);
	 e->Graphics->DrawString(st, iFont, Brushes::Black, x, y+40);
}

Архив проекта можно взять здесь.


Рис.1. Вывод текста на поверхность формы методом DrawString

   
На следующем шаге мы продолжим изучение этого вопроса.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий