Выбрать главу

lppt - указатель на массив структур типа POINT , которые определяют вершины многоугольников. Многоугольники задаются последовательно. Каждый многоугольник полагается замкнутым, и каждая вершина может быть задана лишь один раз.

lpPolyCounts - указывает на массив целых, каждое из которых задает количество точек в одном из многоугольников в массиве, на который указывает значение параметра lppt .

nCount - определяет общее количество целых значений в массиве, на который указывает значение параметра lpPolyCounts .

fnPolyFillMode - определяет режим заполнения, используемый для определения того, какие пиксели входят в область. Может принимать одно из следующих значений:

Значение

Пояснение

ALTERNATE

Попеременный режим. Закрашиваются только те фрагменты внутренней области многоугольника, которые получаются путем соединения линий с нечетными номерами (1, 3, 5 и т. д.). Другие фрагменты внутренней области не закрашиваются.

WINDING

Сквозной. Windows закрашивает все внутренние области.

Для дополнительной информации об этих режимах смотрите описание функции SetPolyFillMode .

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

В случае успеха возвращается дескриптор области.

В случае неудачи возвращается NULL .

См. также

CreatePolygonRgn, DeleteObject, POINT, SelectObject, SetPolyFillMode .

CreateRectRgn

Функция CreateRectRgn создает прямоугольную область.

HRGN CreateRectRgn (

int nLeftRect , // x-координата верхнего левого угла области

int nTopRect , // y-координата верхнего левого угла области

int nRightRect , // x-координата правого нижнего угла области

int nBottomRect // y-координата правого нижнего угла области

);

Параметры

nLeftRect - определяет x-координату верхнего левого угла области.

nTopRect - определяет y -координату верхнего левого угла области.

nRightRect - определяет x-координату правого нижнего угла области.

nBottomRect - определяет y- координату правого нижнего угла области.

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

В случае успеха возвращается дескриптор области.

В случае неудачи возвращается NULL.

Комментарии

В область не входят ее правая и нижняя границы.

См. также

CreateRectRgnIndirect, CreateRoundRectRgn, DeleteObject, SelectObject .

CreateRectRgnIndirect

Функция CreateRectRgnIndirect создает прямоугольную область.

HRGN CreateRectRgnIndirect (

CONST RECT * lprc // указатель на прямоугольник

);

Параметры

lprc - указывает на структуру типа RECT , которая содержит координаты верхнего левого и нижнего правого углов прямоугольника, определяющего область.

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

В случае успеха возвращается дескриптор области.

В случае неудачи возвращается NULL .

Комментарии

В область не войдут правая и нижняя стороны прямоугольника.

См. также

CreateRectRgn, CreateRoundRectRgn, DeleteObject, RECT, SelectObject .

CreateRoundRectRgn

Функция CreateRoundRectRgn создает прямоугольную область с закругленными углами.

HRGN CreateRoundRectRgn (

int nLeftRect , // x -координата верхнего левого угла области

int nTopRect , // y -координата верхнего левого угла области

int nRightRect , // x -координата нижнего правого угла области

int nBottomRect , // y -координата нижнего правого угла области

int nWidthEllipse , // ширина эллипса для закругленных углов

int nHeightEllipse // высота эллипса для закругленных углов

);

Параметры

nLeftRect - определяет x -координату верхнего левого угла области.

nTopRect - определяет y - координату верхнего левого угла области.

nRightRect - определяет x -координату нижнего правого угла области.

nBottomRect - определяет y -координату нижнего правого угла области.

nWidthEllipse - определяет ширину эллипса, используемого для создания закругленных углов.

nHeightEllipse - определяет высоту эллипса, используемого для создания закругленных углов.

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

В случае успеха возвращается дескриптор области.

В случае неудачи возвращается NULL .

См. также

CreateRectRgn, CreateRectRgnIndirect, DeleteObject, SelectObject .

EqualRgn

Функция EqualRgn проверяет две указанные области на идентичность. Функция считает области идентичными, если они имеют одинаковые размер и форму.

BOOL EqualRgn (

HRGN hSrcRgn 1 , // дескриптор первой области

HRGN hSrcRgn 2 // дескриптор второй области

);

Параметры

hSrcRgn 1 - идентифицирует первую область.

hSrcRgn 2 - идентифицирует вторую область.

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

Если две области равны, возвращается ненулевое значение.

Если две области не равны, возвращается нуль. Возврат ERROR означает, что, по крайней мере, один из дескрипторов областей был недействительным.

См. также

CreateRectRgn, CreateRectRgnIndirect .

ExtCreateRegion

Функция ExtCreateRegion создает область из указанной области и данных трансформации.

HRGN ExtCreateRegion (

CONST XFORM * lpXform , // указатель на данные трансформации

DWORD nCount , // размер структуры, содержащей данные области

CONST RGNDATA * lpRgnData // указатель на данные области