BOOL PolyDraw( const POINT* lpPoints, const BYTE* lpTypes, int nCount );
Возвращаемое значение
Отлично от нуля, если функция успешна, иначе 0.
Параметры
lpPoints
Указатель на массив структур данных POINT, который содержит оконечные точки для каждого сегмента линии и контрольных точек для каждого Bezier сплайна.
lpTypes
Указатель на массив, который определяет, как каждая точка в lpPoints массиве используется. Значения могут быть одним из следующего:
- PT_MOVETO - Определяет, что эта точка начинает новый рисунок. Эта точка становится новой текущей позицией.
- PT_LINETO - Определяет, что линия должна быть выведена от текущей позиции до этой точки, которая затем становится новой текущей позицией.
- PT_BEZIERTO - Определяет, что эта точка - контрольная точка или последняя точка для Bezier сплайна.
- PT_BEZIERTO - точек всегда должно быть три. Текущая позиция определяет отправную точку для Bezier сплайна. Первые две PT_BEZIERTO точки - контрольные точки, а третья PT_BEZIERTO точка - точка окончания. Точка окончания становится новой текущей позицией. Если не имеется трех последовательных точек PT_BEZIERTO, результат ошибка. PT_LINETO или тип PT_BEZIERTO может быть объединен с другими константами, используя поразрядный оператор OR указывая, что соответствующая точка - последняя точка в рисунке, и рисунок закрыт.
- PT_CLOSEFIGURE - Определяет, что рисунок автоматически закрыт после того, как PT_LINETO или тип PT_BEZIERTO для этой точки выполнен. Линия выведена от этой точки до самой последней точки MoveTo или PT_MOVETO. Этот флажок объединен с типом PT_LINETO для строки, или с типом PT_BEZIERTO для Bezier сплайна, используя поразрядный OR оператора. Текущая позиция установлена к отметке окончания заключительной строки.
nCount
Определяет общее число точек в lpPoints массиве и число байтов в lpTypes массиве.
Замечания
Выводит набор сегментов линий и Bezier сплайнов. Эта функция может использоваться, чтобы вывести непересекающиеся рисунки вместо последовательных обращений в CDC::MoveTo, CDC::LineTo, и CDC::PolyBezierTo функциям. Линии и сплайны выведены, используя текущее перо, и рисунки не заполнены. Если имеется активный путь, начатый, вызывом CDC::BeginPath результат добавляет к пути. Точки содержащиеся в lpPoints массиве и в lpTypes указывают, является ли каждая точка частью CDC::MoveTo, CDC::LineTo, или CDC::BezierTo. Также возможно закрыть рисунки. Эта функция модифицирует текущую позицию.