Функция SetBoundsRect контролирует накопление информации об ограничительных прямоугольниках для указанного контекста устройства. Windows может сохранять ограничительный прямоугольник для всех операций рисования. Приложение может проверить и установить этот прямоугольник. Ограничивание рисования полезно для аннулирования кэша растровых рисунков.
UINT SetBoundsRect(
HDC hdc, // дескриптор контекста устройства
CONST RECT *lprcBounds, // адрес координат прямоугольника
UINT flags // комбинация контролирующих флагов
);
Параметры:
hdc | Определяет контектс устройства для которого накапливаются ограничительные прямоугольники. |
lprcBounds | Адрес структуры RECT, используемой для установки ограничительного прямоугольника. Размеры прямоугольника исчисляются в логических координатах. Этот параметр может быть равен NULL. |
flags | Определяет, как новый прямоугольник будет комбинироваться с накопленным прямоугольником. Этот параметр может быть комбинацией из следующих значений:
Значение: | Описание: |
DCB_ACCUMULATE | Добавляет прямоугольник, указанный в параметре lprcBounds, в ограничительный прямоугольник (используется для операции объединения прямоугольника). Используя вместе DCB_RESET и DCB_ACCUMULATE, устанавливает ограничитльный прямоугольник для прямоугольника, указанного в парамтере lprcBounds. |
DCB_DISABLE | Отключает накопление ограничений. |
DCB_ENABLE | Включает накопление ограничений, которое по умолчанию отключено. |
DCB_RESET | Очищает ограничительный прямоугольник. |
|
Возвращаемые значения:
Если вызов функции успешен, возвращаемое значение определяет прежнее состояние ограничительного прямоугольника. Это состояние может быть комбинацией следующих значений:
Значение: | Описание: |
DCB_DISABLE | Накопление границ отключено. |
DCB_ENABLE | Накопление границ включено. DCB_ENABLE и DCB_DISABLE взаимно исключимы. |
DCB_RESET | Ограничительный прямоугольник пуст. |
DCB_SET | Ограничительный прямоугольник не пуст. DCB_SET и DCB_RESET взаимно исключимы. |
Замечания:
Значение DCB_SET является комбинацией значений битов DCB_ACCUMULATE и DCB_RESET. Приложение, которое проверяет бит DCB_RESET для определения того, что ограничительный прямоугольник пуст, должно также проверить бит DCB_ACCUMULATE. Ограничительный прямоугольник пуст, если бит DCB_RESET установлен в 1 и бит DCB_ACCUMULATE в 0.
Смотрите также:
GetBoundsRect,
RECT