Свойство |
Определяет |
Name |
Используемый шрифт. В качестве значения следует использовать название шрифта (например, Arial) |
Size |
Размер шрифта в пунктах (points). Пункт— это единица измерения размера шрифта, используемая в полиграфии. Один пункт равен 1/72 дюйма |
Style |
Стиль начертания символов. Может быть: нормальным, полужирным, курсивным, подчеркнутым, перечеркнутым. Стиль задается при помощи следующих констант: fsBold (полужирный), fsltalic (курсив), fsUnderline (подчеркнутый), fsStrikeOut (перечеркнутый) Свойство style является множеством, что позволяет комбинировать необходимые стили. Например, инструкция, которая устанавливает стиль "полужирный курсив", выглядит так: Canvas->Font->Style = TFontStyles ( ) <<fsBold<<f sUnderline |
Color |
Цвет символов. В качестве значения можно использовать константу типа TColor |
При выводе текста весьма полезны методы Textwidth и TextHeight, значениями которых являются соответственно ширина и высота области вывода текста, которые, очевидно, зависят от характеристик используемого шрифта. Обоим этим методам в качестве параметра передается строка, которую предполагается вывести на поверхность методом TextoutA.
Следующий фрагмент кода демонстрирует использование методов, обеспечивающих вывод текста на поверхность формы. Приведенная функция обработки события OnPaint закрашивает верхнюю половину окна белым, нижнюю — голубым цветом, затем в центре окна, по границе закрашенных областей, выводит текст (Рисунок 3.7).
void _fastcall TForml::FormPaint(TObject *Sender) { AnsiString ms = "Borland C++Builder"; TRect aRect; int x,y; // точка, от которой будет выведен текст // верхнюю половину окна красим белым aRect = Rect(0,0,ClientWidth,ClientHeight/2); Canvas->Brush->Color = clWhite; Canvas->FillRect(aRect); // нижнюю половину окна красим голубым aRect = Rect(0,ClientHeight/2,ClientWidth,ClientHeight); Canvas->Brush->Color = clSkyBlue; Canvas->FillRect(aRect); Canvas->Font->Name = "Times New Roman"; Canvas->Font->Size = 24; // Canvas->Font->Style = TFontStyles ()« fsBold « fsItalic; // текст разместим в центре окна х = (ClientWidth - Canvas-XTextWidth(ms)) /2; у = ClientHeight/2 - Canvas-XTextHeight(ms) /2; Canvas->Brush->Style = bsClear; // область вывода текста // не закрашивать Canvas->Font->Color = clBlack; Canvas->TextOutA(x,y,ms); // вывести текст }