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


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

В разделе Рисование строки показано, как написать приложение 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 является первым аргументом, переданным конструктору Font. Второй аргумент, переданный конструктору шрифта, указывает размер шрифта, а третий аргумент задает стиль. Значение FontStyleRegular является членом перечисления FontStyle, объявленного в Gdiplusenums.h. Последний аргумент конструктора шрифта шрифта указывает, что размер шрифта (24 в данном случае) измеряется в пикселях. Значение UnitPixel является членом перечисления Unit.

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