denprox Опубликовано 31 марта, 2017 Поделиться Опубликовано 31 марта, 2017 Доброго времени суток! Наткнулся на тему Как определить пересекаются ли два контрола или нет? и возник вопрос, как сделать обратное ? Т.е. к примеру есть два объекта, Родительский и потомок, как узнать, вышел потомок за пределы родителя или нет ? Цитата Ссылка на комментарий
0 Winexcel Опубликовано 31 марта, 2017 Поделиться Опубликовано 31 марта, 2017 Можно просто проверить у потомка координаты, если есть отрицательная - значит вышел. Position.X Position.Y Цитата Ссылка на комментарий
0 denprox Опубликовано 31 марта, 2017 Автор Поделиться Опубликовано 31 марта, 2017 Это если влево или вверх пытаться вывести потомок, если вправо или вниз, то X Y остаются положительными Цитата Ссылка на комментарий
0 Maximus Опубликовано 31 марта, 2017 Поделиться Опубликовано 31 марта, 2017 (изменено) Вы же знаете длину и ширину своего "потомка", учитывайте её при проверке и всё. Изменено 31 марта, 2017 пользователем Maximus Winexcel 1 Цитата Ссылка на комментарий
0 denprox Опубликовано 5 апреля, 2017 Автор Поделиться Опубликовано 5 апреля, 2017 Есть еще такое решение: Если поместить объект в TSelection, который в свою очередь потомок необходимого родителя, то автоматически будут созданы границы, за которые объект(потомок) нельзя вывести. Цитата Ссылка на комментарий
0 dnekrasov Опубликовано 6 апреля, 2017 Поделиться Опубликовано 6 апреля, 2017 EqualRect(Control1.BoundsRect.Intersect(Control2.BoundsRect), Control2.BoundsRect) Если True, то Control2 не вышел за пределы Control1, иначе - вышел Winexcel 1 Цитата Ссылка на комментарий
Вопрос
denprox
Доброго времени суток! Наткнулся на тему Как определить пересекаются ли два контрола или нет? и возник вопрос, как сделать обратное ? Т.е. к примеру есть два объекта, Родительский и потомок, как узнать, вышел потомок за пределы родителя или нет ?
Ссылка на комментарий
5 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.