Функция CreateEllipticRgn

Declare Function CreateEllipticRgn Lib "gdi32" (ByVal X1 As Long, _
    ByVal Y1 As Long, _
	ByVal X2 As Long, _
	ByVal Y2 As Long) As Long

CreateEllipticRgn создает область в виде эллипса, вписанного в прямоугольник, определенный координатами, передаваемые функцией. Ограничительный прямоугольник - самый маленький возможный прямоугольник, который может соответствовать эллипсу. Не забывайте удалять регион функцией DeleteObject, если вы больше в нем не нуждаетесь

Возвращаемое значение

Функция возвращает описатель созданной области в успешном случае или 0 в случае ошибки(используйте GetLastError для получения кода ошибки)

Параметры

X1
Координата x верхнего левого угла ограничительного прямоугольника
Y1
Координата y верхнего левого угла ограничительного прямоугольника
X2
Координата x нижнего правого угла ограничительного прямоугольника
Y2
Координата y нижнего правого угла ограничительного прямоугольника

Пример

' смотри также пример region.zip
' Инвертируем пикселы в пределах  области эллипса на окне Form1.
' Область имеет ограничительный прямоугольник (20,30) - (150,110)
Dim hrgn As Long ' описатель области
Dim lRet As Long ' возвращаемое значение
' Создаем  область-эллипс, чтобы инвертировать и получить описатель
hrgn = CreateEllipticRgn(20,30,150,110) ' ограничительный прямоугольник (20,30)-(150,110)
' инвертируем эту область в окне Form1
lRet = InvertRgn(Form1.hDC, hrgn)
' освобождаем ресурсы системы
retval = DeleteObject(hrgn)

Смотри также

CreateEllipticRgnIndirect

Категория

Регионы