Функция EqualRgn

Declare Function EqualRgn Lib "gdi32" (ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long) As Long

EqualRgn определяет, содержат ли две области (региона) точно такую же область. Хотя описатели региона будут конечно различны, они могут обращаться) к регионам идентичного размера, формы и позиции.

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

Функция возвращает ненулевое значение, если две области относятся к идентичным областям или 0, если они относятся к различным областям.

Параметры

hSrcRgn1
Первый из двух регионов для сравнения
hSrcRgn2
Второй из двух регионов для сравнения

Пример

' Иллюстрируем равные и неравные регионы.  
' Сравниваем три различных области, два из них одинаковы, 
' а третья не равна им
Dim hRgn1 As Long, hRgn2 As Long, hRgn3 As Long  ' три области
Dim areequal As Long  ' индикатор равно-неравно
Dim retval As Long  ' возвращаемое значение

' три региона-эллипсы
hRgn1 = CreateEllipticRgn(20, 30, 120, 80)
hRgn2 = CreateEllipticRgn(20, 30, 120, 80)
hRgn3 = CreateEllipticRgn(50, 50, 200, 150) 

' сравниваем первые два региона (должны быть одинаковыми)
areequal = EqualRgn(hRgn1, hRgn2)  ' индикатор должен иметь ненулевое значение
If areequal = 0 Then Debug.Print "Не равны" Else Debug.Print "Равны"
' сравниваем первый и третий эллипсы
areequal = EqualRgn(hRgn1, hRgn3)  ' индикатор должен быть нулевым
If areequal = 0 Then Debug.Print "Не равны"
 Else
  Debug.Print "Равны"
End If

' удаляем все регионы для высвобождения ресурсов
retval = DeleteObject(hRgn1)
retval = DeleteObject(hRgn2)
retval = DeleteObject(hRgn3)

Категория

Регионы