Работа с прямоугольниками

Простейшим средством, задающим границу области вывода, является прямоугольник. Функции отображения прямоугольных областей используют указатель на структуру rect типа RECT (прямоугольник), имеющую поля: left, top, right, bottom, заданные в логических единицах.

Функция FillRect (hdc, &rect, hBrush); закрашивает прямоугольник (не включая правую и нижнюю координаты) заданной кистью.

Функция FrameRect (hdc, &rect, hBrush); использует кисть для рисования прямоугольной рамки, но не закрашивает внутреннюю область.

Функция InvertRect (hdc, &rect); инвертирует все пиксели в прямоугольнике, устанавливая единичные биты в ноль, а нулевые – в единицу, т.е. переводит белую область в черную, черную – в белую (зеленую – в фиолетовую).

Windows содержит функции, позволяющие легко манипулировать со структурами типа RECT:

– установка всех полей структуры RECT в заданные значения:

SetRect (&rect, xLeft, yTop, xRight, yBottom);

– перемещение на заданное число координат вдоль осей x и y:

OffsetRect (&rect, x, y);

– увеличение или уменьшение размеров прямоугольника:

InflateRect (&rect, x, y);

– установка полей структуры прямоугольника в ноль:

SetRectEmpty (&rect);

– копирование одного прямоугольника в другой:

CopyRect (&DestRect, &SrcRect);

– пересечение двух прямоугольников:

IntersectRect (&DestRect, &SrcRect1, &SrcRect2);

– объединение двух прямоугольников:

UnionRect (&DestRect, &SrcRect1, &SrcRect2);

– определение, является ли прямоугольник пустым:

bEmpty = IsRectEmpty (&rect);

– определение, содержится ли точка внутри прямоугольника:

bInRect = PtInRect (&rect, point);








Дата добавления: 2015-09-11; просмотров: 567;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.