Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

RectInRect [D5]


Manwe ©   (2002-03-30 13:45:00) 

Помогите написать функцию определяющую наличие общих точек у двух прямоугольников
function RectInRect(Rect1,Rect2:TRect):Boolean;


Лёша   (2002-03-30 13:58:00) [1]

IntersectRect(...): boolean;
Определяет ещё координаты полученного Rect.


Song   (2002-03-30 13:54:00) [2]

Чисто гепатетически должно так получиться, первое, что в голову пришло:

Function IsRectangleUnion(Rect1,Rect2:TRect):Boolean;
Begin
Result:=(Rect1.Left in [Rect2.Left..Rect2.Right]) or
(Rect1.Right in [Rect2.Left..Rect2.Right]) or
(Rect1.Top in [Rect2.Top..Rect2.Bottom]) or
(Rect1.Bottom in [Rect2.Top..Rect2.Bottom]) or
(Rect2.Left in [Rect1.Left..Rect1.Right]) or
(Rect2.Right in [Rect1.Left..Rect1.Right]) or
(Rect2.Top in [Rect1.Top..Rect1.Bottom]) or
(Rect2.Bottom in [Rect1.Top..Rect1.Bottom]);
End;


Наверх

Титульная страница Поиск, карта сайта Написать письмо