Функция CreateRoundRectRgn

Declare Function CreateRoundRectRgn Lib "gdi32.dll" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long

Платформа: Win 95/98, Win NT

CreateRoundRectRgn создает округленную прямоугольную область и обеспечивает дескриптор к нему. Регион имеет форму подобно прямоугольнику с округленными углами. Регион определен координатой не-округленного прямоугольника, сопровождаемого шириной и высотой округленных углов. Функция возвращает дескриптор недавно созданного региона в успешном случае, или 0 в случае ошибки.

X1
Координата x левого верхнего угла прямоугольника.
Y1
Координата y левого верхнего угла прямоугольника.
X2
Координата x нижнего правого угла прямоугольника.
Y2
Координата y нижнего правого угла прямоугольника.
X3
Ширина части каждого угла к кругу.
Y3
Высота части каждого угла к кругу.

Пример:

' Инвертируем пикселы в пределах округленной прямоугольной области на окне Form1.
' Эквивалент неокругленного прямоугольника имеет углы (20,30) - (150,110). Округленные углы имеют
' ширину 15 и высоту 10.
Dim hrgn As Long  ' дескриптор к созданной округленной прямоугольной области
Dim retval As Long  ' возвращаемое значение

' Создаем округленную прямоугольную область, и получаем дескриптор
hrgn = CreateRoundRectRgn(20, 30, 150, 110, 15, 10)
 ' Инвертируем пикселы в Form1 в пределах этой области(региона).
retval = InvertRgn(Form1.hDC, hrgn)
' уничтожаем регион для высвобождения ресурсов.
retval = DeleteObject(hrgn)

Схожие функции: CreateRectRgn, CreateRectRgnIndirect
Категория: Регионы

В начало.