Главная
Решение задач.
Справочные данные.
Формулы.
Программирование.
Как в Windows?
Разное.
Утилиты Windows.
Несправности принтеров.
BIOS по алфавиту.
Тесты.
Карта сайта.

Работа с областями на winAPI в delphi.

Функция CombineRgn

Объединяет области SrcRgn1 и SrcRgn2 и помещает результат в DestRgn. CombineMode определяет метод объединения областей.

function CombineRgn(DestRgn, SrcRgn1, SrcRgn2: HRgn; CombineMode: Integer): Integer;
Параметры:
DestRgn: Область, замещаемая новой областью.
SrcRgn1: Существующая область.
SrcRgn2: Существующая область.
CombineMode: Одна из констант rgn_And, rgn_Copy, rgn_Diff, rgn_Or, rgn_Xor.
Возвращаемое значение: Одна из констант ComplexRegion, Error, NullRegion, SimpleRegion. функция находится в файле gdi32.dll

Создает многоугольную область.

function CreatePolygonRgn(var Points; Count, PolyFillMode: Integer): HRgn;
Параметры:
Points: Массив TPoint, содержащий вершины многоугольника.
Count: Число точек в Points.
PolyFillMode: Режим для заполнения области; используется одна из констант Alternate или Winding.
Возвращаемое значение: В случае успешного завершения - идентификатор новой области; 0 - в противном случае.

Создает эллиптическую область, ограниченную прямоугольником, указанным в ARect.

function CreateEllipticRgnIndirect(var Rect: TRect): HRgn;
Параметры:
ARect: TRect, содержащий верхний левый и правый нижний углы ограничивающего прямоугольника.
Возвращаемое значение: В случае успешного завершения - идентификатор новой области; 0 - в противном случае.

Создает эллиптическую область, ограниченную указанным прямоугольником.

function CreateEllipticRgn(X1, Y1, X2, Y2: Integer): HRgn;
Параметры:
X1, Y1: Верхний левый угол ограничивающего прямоугольника.
X2, Y2: Правый нижний угол ограничивающего прямоугольника.
Возвращаемое значение: В случае успешного завершения - идентификатор новой области; 0 - в противном случае.

Создает область, состоящую из ряда возможно перекрывающихся замкнутых многоугольников.

function CreatePolyPolygonRgn(var Points; var PolyCounts, Counts, PolyFillMode: Integer): HRgn;
Параметры:
Points: Массив TPoint, содержащий вершины многоугольников.
PolyCounts: Целочисленный массив, где каждый соответствующий элемент определяет число точек в каждом многоугольнике в Points.
Count: Размер PolyCounts.
PolyFillMode: Используется одна из констант Alternate или Winding.
Возвращаемое значение: В случае успешного завершения - идентификатор области; 0 - в противном случае.

Создает прямоугольную область, ограниченную указанным прямоугольником.

function CreateRectRgn(X1, Y1, X2, Y2: Integer): HRgn;
Параметры:
X1, Y1: Верхний левый угол ограничивающего прямоугольника.
X2, Y2: Правый нижний угол ограничивающего прямоугольника.
Возвращаемое значение: В случае успешного завершения - идентификатор области; 0 - в противном случае.

Создает прямоугольную область, ограниченную Arect.

function CreateRectRgnIndirect(var Rect: TRect): HRgn;
Параметры:
ARect: TRect, содержащий верхний левый и правый нижний углы области.

Создает прямоугольную область с загругленными углами, ограниченную указанной областью.

function CreateRoundRectRgn(X1, Y1, X2, Y2, X3, Y3: Integer): HRgn;
Параметры:
X1, Y1: Верхний левый угол области.
X2, Y2: Правый нижний угол области.
X3: Ширина эллипса для закругленных углов.
Y3: Высота эллипса для закругленных углов.
Возвращаемое значение: В случае успешного завершения - идентификатор области; 0 - в противном случае.

Сравнивает две области на равенство.

function EqualRgn(ScrRgn1, ScrRgn2: HRgn): Bool;
Параметры:
ScrRgn1, ScrRgn2: Сравниваемые области.
Возвращаемое значение: Не нуль, если равны; 0 - в противном случае.

Создает новую вырезающую область, состоящую из имеющейся области минус указанный прямоугольник.

function ExcludeClipRect(DC: HDC; X1, Y1, X2, Y2: Integer): Integer;
Параметры:
DC: Идентификатор контекста устройства.
X1, Y1: Верхний левый угол прямоугольника.
X2, Y2:Нижний правый угол прямоугольника.
Возвращаемое значение: Тип новой области: ComplexRegion, Error, NullRegion, SimpleRegion.

Исключает обновленную область окна из вырезающей области, что препятствует рисованию внутри неверных областей окна.

function ExcludeUpdateRgn(DC: HDC; Wnd: HWnd): Integer;
Параметры:
DC: Идентификатор контекста устройства.
Wnd: Обновляемое окно.
Возвращаемое значение: Тип новой области: ComplexRegion, Error, NullRegion, SimpleRegion. См. раздел "Флаги областей" в главе 1.

Заполняет область поверхности растрового дисплея описанным в параметре FillType образом. Используется текущая кисть.

function ExtFloodFill(DC: HDC, X, Y: Integer; Color: TColorRef; FillType: Word): Bool;
Параметры:
DC: Идентификатор контекста устройства.
X, Y: Точка начала заполнения.
Color: TColorRef заполняемой области или границы.
FillType: Одна из констант: FloodFillBorder, FloodFillSurface.
Возвращаемое значение: Не нуль в случае успешного завершения; нуль - в противном случае.

Заполняет область отображения текущей кистью, ограниченной Color.

function FloodFill(DC: HDC; X, Y: Integer; Color: TColorRef): Bool;
Параметры:
DC: Идентификатор контекста устройства.
X, Y: Позиция начала заполнения.
Color: Цвет границы, TColorRef.
Возвращаемое значение: Не нуль в случае успешного завершения; 0 - в противном случае.

Заполняет область, используя выбранную кисть.

function PaintRgn(DC: HDC; Rgn: HRgn): Bool;
Параметры:
DC: Контекст устройства.
Rgn: Заполняемая область.
Возвращаемое значение: Не нуль в случае успешного завершения; 0 - в противном случае.

Инвертирует цвета области, определяемой Rgn.

function InvertRgn(DC: HDC; var Rgn: HRgn): Bool;
Параметры:
DC: Идентификатор контекста устройства.
Rect: Идентификатор области (в единицах устройства).
Возвращаемое значение: Не нуль в случае успешного завершения; 0 - в противном случае.

Считывает прямоугольник, ограничивающий область.

function GetRgnBox(Rgn: HRgn; var Rect: TRect): Integer;
Параметры:
Rgn: Идентификатор области.
Rect: Принимающая структура TRect.
Возвращаемое значение: Тип области, одна из констант ComplexRegion, NullRegion, SimpleRegion; нуль, если неверная область.

Считывает в ARect наименьший замыкающий прямогольник области обновления окна.

function GetUpdateRect(Wnd: HWnd; var Rect: TRect; Erase: Bool): Bool;
Параметры:
Wnd: Идентификатор окна.
Rect: Принимающая структура TRect.
Erase: Не нуль, если нужно стереть фон области обновления.
Возвращаемое значение: Если область обновления непуста, то не нуль; 0 - в противном случае.

Копирует в Rgn область обновления окна.

function GetUpdateRgn(Wnd: HWnd; Rgn: HRgn; Erase: Bool): Integer;
Параметры:
Wnd: Идентификатор окна.
Rgn: Принимающая область обновления.
Erase: Не нуль, если нужно стереть фон области обновления и перерисовать дочерние окна.
Возвращаемое значение: Один из следующих типов областей: ComplexRegion, Error, NullRegion, SimpleRegion.

Создает новую область вырезания из пересечения области с указанным прямоугольником.

function IntersectClipRect(DC: HDC; X1, Y1, X2, Y2: Integer): Integer;
Параметры:
DC: Идентификатор контекста устройства.
X1, Y1: Верхний левый угол прямоугольника.
X2, Y2: Нижний правый угол прямоугольника.
Возвращаемое значение: Тип новой области: ComplexRegion, Error, NullRegion, SimpleRegion.

Делает недостоверной область пользователя в окне, добавляя Rect к области обновления окна.

function InvalidateRect(Wnd: HWnd; Rect: LPRect; Erase: Bool);
Параметры:
Wnd: Идентификатор окна.
Rect: TRect (в координатах пользователя), добаляемая к области обновления или nil для всей области пользователя.
Erase: Не нуль для BeginPaint, стирающей фон.

Делает недостоверной область пользователя в окне, добавляя Rgn к области обновления окна.

function InvalidateRgn(Wnd: HWnd; Rgn: HRgn; Erase: Bool);
Параметры:
Wnd: Идентификатор окна.
Rgn: Идентификатор области (в координатах пользователя).
Erase: Не нуль для BeginPaint, стирающей фон.

Смещает область в сторону на указанные смещения по X и Y.

function OffsetRgn(Rgn: HRgn; X, Y: Integer): Integer;
Параметры:
Rgn: Идентификатор области.
X: Единицы перемещения влево или вправо.
Y: Единицы перемещения вверх или вниз.
Возвращаемое значение: Один из флагов ComplexRegion, NullRegion, SimpleRegion или Error.

Заполняет область, используя выбранную кисть.

function PaintRgn(DC: HDC; Rgn: HRgn): Bool;
Параметры:
DC: Контекст устройства.
Rgn: Заполняемая область.
Возвращаемое значение:
Не нуль в случае успешного завершения; 0 - в противном случае.

Определяет, лежит ли точка внутри указанной области.

function PtInRgn(Rgn: HRgn; X, Y: Integer): Bool;
Параметры:
Rgn: Идентификатор области.
X, Y: Точка.
Возвращаемое значение: Не нуль, если точка лежит внутри Rgn; нуль - в противном случае.

Определяет, лежит ли точка внутри области вырезания указанного устройства.

function PtVisible(DC: HDC; X, Y: Integer): Bool;
Параметры:
DC: Идентификатор контекста устройства.
X, Y: Точка.
Возвращаемое значение: Не нуль, если точка лежит внутри области вырезания устройства DC; нуль - в противном случае.

Определяет, лежит ли какая-либо часть прямоугольника Rect внутри указанной области.

function RectInRegion(Region: HRgn; var Rect: TRect): Bool;
Параметры:
Region: Идентификатор области.
Rect: Структура TRect.
Возвращаемое значение: Определяет, лежит ли какая-либо часть прямоугольника Rect внутри области вырезания указанного устройства. function RectVisible(DC: HDC; var Rect: TRect): Bool;
Параметры:
DC: Идентификатор контекста устройства. Rect: Структура TRect.
Возвращаемое значение: Не нуль, если лежит внутри области вырезания устройства; нуль - в противном случае.

Использует копию Rgn в качестве текущей области вырезания для контекста устройства.

function SelectClipRgn(DC: HDC; Rgn: HRgn): Integer;
Параметры:
DC: Идентификатор контекста устройства.
Rgn: Выбираемая область.
Возвращаемое значение: Одна из констант ComplexRegion, Error, NullRegion, SimpleRegion.

Использует место, выделенное для Rgn, для создания прямоугольной области с указанным размером.

function SetRectRgn (Rgn: HRgn; X1, Y1, X2, Y2: Integer);
Параметры:
Rgn: Идентификатор области.
X1, Y1: Верхний левый угол прямоугольной области.
X2, Y2: Нижний правый угол прямоугольной области.

Обновляет область пользователя, сравнивая по элементам изображения текущие цвета области пользователя с системной палитрой.

function UpdateColors(DC: HDC): Integer;
Параметры:
DC: Идентификатор контекста устройства.

Возвращаемое значение: Не используется.

Проверяет достоверность области пользователя, удаляя Rect из области обновления окна.

function ValidateRect(Wnd: HWnd; Rect: LPRect);
Параметры:
Wnd: Идентификатор окна.
Rect: TRect (в координатах пользователя), удаляемая из области обновления или nil для всей области пользователя.

Проверяет достоверность области пользователя, удаляя область, заданную параметром Rgn, из области обновления окна.

function ValidateRgn(Wnd: HWnd; Rgn: HRgn);
Параметры:
Wnd: Идентификатор окна.
Rgn:Идентификатор области (в координатах пользователя).

Считывает самый внутренний ограничивающий прямоугольник вокруг текущей области вырезания.

function GetClipBox(DC: HDC; var Rect: TRect): Integer;
Параметры:
DC: Идентификатор контекста устройства.
Rect: Принимающая структура TRect.
Возвращаемое значение: Тип области вырезания: ComplexRegion, NullRegion или SimpleRegion.

Считывает описатель окна окна рабочей области Windows.

function GetDesktopWindow: HWnd;
Возвращаемое значение: Идентификатор окна рабочей области Windows.

Перемещает область вырезания устройства в соответствии с указанными смещениями X и Y.

function OffsetClipRgn(DC: HDC; X, Y: Integer): Integer;
Параметры:
DC: Идентификатор контекста устройства.
X: Логические единицы перемещения влево или вправо.
Y: Логические единицы перемещения вверх или вниз.
Возвращаемое значение: Один из флагов ComplexRegion, NullRegion, SimpleRegion или Error.

Рисует границу вокруг области.

function FrameRgn(DC: HDC; Rgn: HRgn; Brush: HBrush; Width, Height: Integer): Bool;
Параметры:
DC: Идентификатор контекста устройства.
Rgn: Очерчиваемая область.
Brush: Кисть для рисования рамки.
Width: Ширина границы в мазках кисти по вертикали (логические единицы).
Height: Высота границы в мазках кисти по горизонтали (логические единицы).
Возвращаемое значение: Не нуль - в случае успешного завершения; 0 - в противном случае.

Заполняет область, используя кисть Brush.

function FillRgn(DC: HDC, Rgn: HRgn; Brush: HBrush): Bool;
Параметры:
DC: Идентификатор контекста устройства.
Rgn: Заполняемая область.
Brush: Кисть заполнения.
Возвращаемое значение: Не нуль в случае успешного завершения; нуль - в противном случае.

К оглавлению


женские шапки

Copyright © 2008-2011 Gruzincev Anton , St. Gorno-Altaysk, Russia, helpw@mail.ru