Прямоугольники и регионы отсечения
Прямоугольники и регионы могут принимать участие в отсечении. ФункцияInvalidateRect делает недействительным прямоугольную область дисплея и генерирует сообщение WM_PAINT. Ее можно использовать, например, для обновления рабочей области:
InvalidateRect (hwnd, NULL, TRUE);
Получить координаты недействительного прямоугольника можно с помощью функции GetUpdateRect, а сделать действительным прямоугольник в рабочей области – ValidateRect.
Получая сообщение WM_PAINT, координаты недействительного прямоугольника доступны из полей структуры PAINTSTRUCT, заполняемой при вызове функции BeginPaint. Этот недействительный прямоугольник также определяет регион отсечения, за пределами которого нельзя рисовать.
Для создания региона отсечения (выбрав регион в контекст устройства) используются функции
SelectObject (hdc, hRgn); SelectClipRgn (hdc, hRgn);
регион отсечения задается в координатах устройства.
Среда Windows содержит несколько функций для манипуляции с регионом отсечения, таких как ExcludeClipRect – исключение прямоугольника из региона отсечения; IntersectClipRect – создание нового региона отсечения, который представляет собой пересечение предыдущего региона отсечения и прямоугольника; OffsetClipRgn – перемещение региона отсечения в другую часть рабочей области.
Дата добавления: 2015-09-11; просмотров: 569;