Иллюстрированный самоучитель по C++ Builder

Текст

Следующий фрагмент кода демонстрирует использование методов, обеспечивающих вывод текста на поверхность формы. Приведенная функция обработки события 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);
// вывести текст
}

Иллюстрированный самоучитель по C++ Builder › Графика › Текст
Рис. 3.7. Вывод текста

Иногда требуется вывести какой-либо текст после сообщения, длина которого во время разработки программы неизвестна. В этом случае необходимо знать координаты правой границы области выведенного текста. Координаты правой границы текста, выведенного методом TextOutA, можно получить, обратившись к свойству penPos.

Следующий фрагмент кода демонстрирует возможность вывода строки текста при помощи двух инструкций TextOutA:

Canvas › TextOutA(10.10,"Borland ");
 Canvas › TextOutA(
Canvas › PenPos.x, Canvas › PenPos.y, "C++Builder");
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.