21 сент. 2010 г.

SetBoundsRect

Функция 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