Тарас Сорока - Русский справочник по Win32 API
Комментарии
Нижняя и правая грани указанного прямоугольника исключаются из области отсечения.
См . также
ExcludeClipRect .
OffsetClipRgn
Функция OffsetClipRgn перемещает область отсечения контекста устройства на указанные смещения.
int OffsetClipRgn (
HDC hdc , // дескриптор контекста устройства
int nXOffset , // смещение вдоль оси x
int nYOffset // смещение вдоль оси y
);
Параметры
hdc - идентифицирует контекст устройства.
nXOffset - определяет количество логических единиц для перемещения влево или вправо.
nYOffset - определяет количество логических единиц для перемещения вверх или вниз.
Возвращаемые значения
В случае успеха возвращаемое значение определяет сложность области и может быть одним из предопределенных значений:
Значение
Пояснение
COMPLEXREGION
Область состоит более чем из одного прямоугольника.
ERROR
Произошла ошибка.
NULLREGION
Пустая область.
SIMPLEREGION
Область является одиночным прямоугольником.
См. также
SelectClipRgn .
SelectClipPath
Функция SelectClipPath выбирает текущий путь ( path ) в качестве области отсечения для контекста устройства, объединяя новую область отсечения с существующей, используя указанный режим.
BOOL SelectClipPath (
HDC hdc , // дескриптор контекста устройства
int iMode // режим отсечения
);
Параметры
hdc - идентифицирует контекст устройства пути.
iMode - определяет способ использования пути. Допустимы следующие значения:
Значение
Пояснение
RGN _ AND
Новая область отсечения включает пересечение (перекрывающиеся участки) текущей области отсечения и текущего пути.
RGN _ COPY
Новой областью отсечения является текущий путь.
RGN _ DIFF
Новая область отсечения включает участки текущей области отсечения и участки, исключенные из текущего пути.
RGN _ OR
Новая область отсечения представляет собой объединение текущей области отсечения и текущего пути.
RGN _ XOR
Новая область отсечения включает в себя объединение текущей области отсечения и текущего пути, но без пересекающихся участков.
Возвращаемые значения
В случае успеха возвращается ненулевое значение.
В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError . GetLastError может возвращать один из следующих кодов ошибки:
ERROR_CAN_NOT_COMPLETE
ERROR_INVALID_PARAMETER
ERROR_NOT_ENOUGH_MEMORY
Комментарии
Контекст устройства, идентифицируемый значением параметра hdc , должен содержать замкнутый путь.
См. также
BeginPath, EndPath .
SelectClipRgn
Функция SelectClipRgn выбирает область в качестве текущей области отсечения для указанного контекста устройства.
int SelectClipRgn (
HDC hdc , // дескриптор контекста устройства
HRGN hrgn // дескриптор выбираемой области
);
Параметры
hdc - идентифицирует контекст устройства.
hrgn - идентифицирует область, которая выбирается.
Возвращаемые значения
В случае успеха возвращаемое значение определяет сложность области и может быть одним из предопределенных значений:
Значение
Пояснение
COMPLEXREGION
Область состоит более чем из одного прямоугольника.
ERROR
Произошла ошибка.
NULLREGION
Пустая область.
SIMPLEREGION
Область является одиночным прямоугольником.
Комментарии
Используется только копия выбранной области. Сама область может быть выбрана для любого числа контекстов устройства или может быть удалена.
Функция SelectClipRgn полагает, что координаты для области являются координатами устройства.
Для удаления области отсечения контекста устройства, укажите в качестве дескриптора области NULL .
См. также
ExtSelectClipRgn .
SetMetaRgn
Функция SetMetaRgn пересекает текущую область отсечения для указанного контекста устройства с текущей метаобластью и сохраняет объединенную область как новую метаобласть для указанного контекста устройства. Область отсечения сбрасывается в нулевую область.
int SetMetaRgn (
HDC hdc // дескриптор контекста устройства
);
Параметры
hdc - идентифицирует контекст устройства.
Возвращаемые значения
В случае успеха возвращаемое значение определяет сложность области и может быть одним из предопределенных значений:
Значение
Пояснение
COMPLEXREGION
Область состоит более чем из одного прямоугольника.
ERROR
Произошла ошибка.
NULLREGION
Пустая область.
SIMPLEREGION
Область является одиночным прямоугольником.
Комментарии
Текущая область отсечения контекста устройства определяется пересечением его области отсечения и его метаобласти.
Функция SetMetaRgn должна вызываться только после того, как исходный контекст устройства приложения был сохранен функцией SaveDC .
См. также
GetMetaRgn, SaveDC .
Рисование
GetWindowRgn
Функция GetWindowRgn получает копию оконной области окна. Оконная область окна устанавливается вызовом функции SetWindowRgn . Оконная область определяет участок внутри окна, в котором операционная система выполняет рисование. Операционная система не отображает части окна, лежащие вне оконной области.
int GetWindowRgn (
HWND hWnd , // дескриптор окна. чья оконная область извлекается функцией
HRGN hRgn // дескриптор области, которая получает копию
// оконной области
);
Параметры
hWnd - дескриптор окна, оконная область которого извлекается.
hrgn - дескриптор области. Эта область получает копию оконной области.
Возвращаемые значения
В случае успеха возвращаемое значение определяет сложность области и может быть одним из предопределенных значений:
Значение
Пояснение
COMPLEXREGION
Область состоит более чем из одного прямоугольника.
ERROR
Произошла ошибка.
NULLREGION
Пустая область.
SIMPLEREGION
Область является одиночным прямоугольником.
Комментарии
Координаты оконной области окна относительны верхнего левого угла окна, а не клиентской области окна.
Для установки оконной области окна используйте функцию SetWindowRgn .
См. также
SetWindowRgn .
SetRectRgn
Функция SetRectRgn преобразует указанную область в прямоугольную область с указанными координатами.
BOOL SetRectRgn (
HRGN hrgn , // дескриптор области
int nLeftRect , // x -координата верхнего левого угла прямоугольника
int nTopRect , // y -координата верхнего левого угла прямоугольника
int nRightRect , // x -координата нижнего правого угла прямоугольника
int nBottomRect // y -координата нижнего правого угла прямоугольника
);
Параметры
hrgn - идентифицирует область.
nLeftRect - определяет x -координату верхнего левого угла прямоугольной области.