CombineRgn
Функция CombineRgn объединяет две области и сохраняет результат в третьей. Две области объединяются согласно указанному режиму объединения.
int CombineRgn
(
HRGN
hrgnDest , // дескриптор результирующей
области
HRGN
hrgnSrc 1
, // дескриптор исходной области
HRGN
hrgnSrc
2 , // дескриптор исходной области
int
fnCombineMode // режим объединения
областей
);
Параметры
hrgnDest
- идентифицирует новую область с размерами, определяемыми двумя исходными областями
(область должна существовать до вызова функции
CombineRgn ).
hrgnSrc 1
- идентифицирует первую из двух исходных областей.
hrgnSrc 2
- идентифицирует вторую из двух исходных областей.
fnCombineMode - определяет режим объединения
двух областей. Может принимать одно из следующих значений:
Значение |
Пояснение |
RGN_AND |
Создается пересечение двух областей. |
RGN_COPY |
Создается копия области, идентифицируемой значением параметра hrgnSrc 1 . |
RGN_DIFF |
Объединяются те части области, идентифицируемой значением параметра hrgnSrc 1 , которые не являются частями области, идентифицируемой значением параметра hrgnSrc 2 . |
RGN_OR |
Создается объединение двух областей. |
RGN_XOR |
Создается объединение двух областей, за исключением любых пересекающихся участков. |
Возвращаемые значения
Возвращаемое значение показывает сложность результирующей области и может принимать одно из следующих значений:
Значение |
Пояснение |
COMPLEXREGION |
Область состоит более чем из одного прямоугольника |
ERROR |
Произошла ошибка |
NULLREGION |
Пустая область |
SIMPLEREGION |
Область является одиночным прямоугольником |
Комментарии
Области могут совпадать друг с другом. Например, значение параметра hrgnSrc 1 может быть равно значению параметра hrgnDest .
См. также
CreateEllipticRgn , CreateEllipticRgnIndirect , CreatePolygonRgn , CreatePolyPolygonRgn , CreateRectRgn , CreateRectRgnIndirect , CreateRoundRectRgn .