Поделиться через


Рисование строки

В разделе Рисование линии показано, как написать приложение Windows, использующее Windows GDI+ для рисования линии. Чтобы нарисовать строку, замените функцию OnPaint , показанную в этом разделе, следующей функцией OnPaint :

VOID OnPaint(HDC hdc)
{
   Graphics    graphics(hdc);
   SolidBrush  brush(Color(255, 0, 0, 255));
   FontFamily  fontFamily(L"Times New Roman");
   Font        font(&fontFamily, 24, FontStyleRegular, UnitPixel);
   PointF      pointF(10.0f, 20.0f);
   
   graphics.DrawString(L"Hello World!", -1, &font, pointF, &brush);
}

Предыдущий код создает несколько объектов GDI+. Объект Graphics предоставляет метод DrawString , который выполняет фактическое рисование. Объект SolidBrush задает цвет строки.

Конструктор FontFamily получает один строковый аргумент, который идентифицирует семейство шрифтов. Адрес объекта FontFamily является первым аргументом, передаваемым конструктору Шрифта . Второй аргумент, передаваемый конструктору шрифта , определяет размер шрифта, а третий — стиль. Значение FontStyleRegular является членом перечисления FontStyle , объявленного в Gdiplusenums.h. Последний аргумент конструктора шрифта указывает, что размер шрифта (в данном случае 24) измеряется в пикселях. Значение UnitPixel является членом перечисления Unit .

Первым аргументом, передаваемым в метод DrawString , является адрес строки расширенных символов. Второй аргумент , –1, указывает, что строка завершается null. (Если строка не заканчивается null, второй аргумент должен указывать количество расширенных символов в строке.) Третий аргумент — адрес объекта Font . Четвертый аргумент является ссылкой на объект PointF , указывающий расположение, в котором будет отрисована строка. Последним аргументом является адрес объекта Brush , который задает цвет строки.