Функция IsRectEmpty

Declare Function IsRectEmpty Lib "user32" (lpRect As RECT) As Long

IsRectEmpty выясняет, пуст ли прямоугольник. Прямоугольник считается пустым, если координаты правого края меньше или равны координатам левого края или координаты нижнего основания меньше или равны координатам его вырхнего края. Например, прямоугольник (50,50) - (25,100) пуст, потому что правый край - слева от левого края

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

Функция возвращает ненулевое значение, если прямоугольник пуст и 0, если - нет (Win NT/2000: используйте GetLastError для получения кода ошибки)

Параметры

lpRect
Прямоугольник для проверки

Пример

' Определим, накладываются ли окна Form1 и Form2
' Если нет, то перекрестный прямоугольник будет пуст
Dim intrect As RECT  ' получим перекрестный прямоугольник
Dim window1 As RECT, window2 As RECT  ' получим прямоугольники Form1 и Form2
Dim isempty As Long  ' будет установлен в 0, если пересечение не пусто и 1, если нет
Dim retval As Long  ' возвращаемое значение для других функций
' Получим прямоугольники Form1 и Form2
retval = GetWindowRect(Form1.hWnd, window1)
retval = GetWindowRect(Form2.hWnd, window2)
retval = IntersectRect(intrect, window1, window2)  ' определим перекрестный прямоугольник
isempty = IsRectEmpty(intrect)  ' определим, является ли он пустым - он будет таким, если не имеется никакого пересечения
If isempty = 0  Then ' В этом случае, перекрестный прямоугольник будет также пуст
  Debug.Print "Form1 и Form2  накладываются на экране"
Else
  Debug.Print "Form1 и Form2 не накладываются на экране"
End If

Смотри также

SetRectEmpty

Категория

Прямоугольники