Класс TRegion используется для определения в контексте устройства области. В контексте устройства вы можете выполнить ряд
операций, таких как изображение, закраска, инвертирования и т.д.
Класс TRegion можно также использовать, чтобы определить область
для собственных операций.
Области могут быть различных форм и размеров, от простых
прямоугольников и прямоугольников с округлыми краями до сложных
многоугольных форм. Форму области определяет используемый конструктор. Вы можете также косвенно построить область из описателя
области или существующего объекта TRegion.
TRegion предусматривает используемый по умолчанию конструктор, который создает пустую прямоугольную область. Для инициализации объекта TRegion вы можете использовать функцию SetRectRgn.
Для прямого создания TRegion можно использовать несколько источников. Для создания прямоугольной области используется конструктор, в качестве параметров которого задаются логические координаты объекта TRect. Конструктор, создающий прямоугольную область с
закругленными краями, имеет также параметр TSize, определяющий
высоту и ширину эллипса закруглений. Конструктор эллиптической
области имеет параметр TEllipse. Для создания нерегулярной многоугольной области конструктору передается массив точек TPoints
(координат вершин многоугольника).
Вы можете получить доступ или модифицировать объекты TRegion
непосредственно через описатель HRGN или через ряд функций-элементов и операций. Для получения HRGN из объекта TRegion используйте операцию HRGN.
С помощью функций-элементов TRegion вы можете получить информацию об объекте TRegion и определить, содержится ли точка
внутри области или на ее границе.
Функция SetRectRgn используется для переустановки области
объекта в прямоугольную область. С помощью функции Contain можно
определить, находится ли точка внутри области. Координаты точки
указываются в параметре этой функции. Функция Touches позволяет
определить, находится ли какая-нибудь часть прямоугольника внутри
области. Функцию GetRgnBox можно использовать для получения координат ограничивающего прямоугольника области (наименьшего возможного прямоугольника, включающего в себя всю область).