CRgn::CreatePolyPolygonRgn

BOOL CreatePolyPolygonRgn ( LPPOINT lpPoints, LPINT lpPolyCounts, int nCount, int nPolyFillMode );

Возвращаемое значение

Ненулевое значение, если операция выполнена успешно; в противном случае 0.

Параметры

lpPoints

Указывает на массив структур POINT или массив объектов CPoint , определяющий вершин многоугольников. Каждый многоугольник должны быть закрыты явным образом, потому, что система не закрывает их автоматически. Многоугольники задаются последовательно. Структура POINT имеет следующий вид:

typedef struct tagPOI&NT {}
 nbsp; int x;
   int y;
} ТОЧКА

lpPolyCounts

Указывает на массив целых чисел. Первое число указывает количество вершин в первая полигон в массиве lpPoints , второе указывает количество вершин в втором полигона и т. д.

nCount

Указывает общее количество целых чисел в массиве lpPolyCounts.

nPolyFillMode

Задает режим заполнения многоугольника. Это значение может быть АЛЬТЕРНАТИВНЫМ или НАМОТКИ.

Примечания

Создает область, состоящая из серии закрытых многоугольников. Результате этого региона хранится в объекте CRgn.

Полигоны могут быть несвязанным, или они могут совпадать.

Размер региона ограничен 32 767, 32 767 логические единицы или 64 K памяти, какое значение меньше.

Когда режим многоугольника ввода АЛЬТЕРНАТИВНОГО, система заполняет область между сторонами нечетные и четные полигонов на каждой линии сканирования. То есть система заполняет область между первой и второй стороне, между третьей и четвертой Стороной и т. д.

Когда режим заполнения многоугольника НАМОТКИ, система использует направление в котором цифра была для определения необходимости заполнения области. Каждый сегмент линии в многоугольник обращается в по часовой стрелке или против часовой стрелки. Всякий раз, когда воображаемой линии, извлечь из закрытом помещении снаружи фигуры проходит через отрезок линии по часовой стрелке, увеличивается счетчик. Когда линия проходит через отрезок линии против часовой стрелки, счетчик уменьшается. Область заполняется, если счетчик равен нулю, когда линия достигает снаружи фигуры.

Когда приложение завершает с использованием региона, созданные с помощью функции CreatePolyPolygonRgn , он должен выбрать регион из контекста устройства и использовать функцию-член CGDIObject::DeleteObject для его удаления.

Обзор CRgn |nbsp; Члены класса | Иерархическая схема

См. такжеnbsp;CRgn::CreatePolygonRgn, CDC::SetPolyFillMode, :: CreatePolyPolygonRgn

Index