|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.05.2009, 12:41 | #1 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Z порядок компонентов и их перекрывание друг друга
допустим у меня на форме есть три TImage...расположение случайно, но есть перекрытия
как мне узнать, что например 1)Image1 перекрывает часть Image2 то есть именно какой Image перекрывает мне и нужно знать... 2)также если они перекрываются все трое (ну вот так бывает) то как мне определить их порядок перекрытия? то есть если у нас такой бутерброд Image1 Image3 Image2 как мне узнать что именно 3 Image под первым лежит? 3)если под Image ничего нет, то как мне это проверить? заранее спасибо Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
04.05.2009, 17:16 | #2 |
Форумчанин
Регистрация: 05.10.2007
Сообщений: 536
|
если их по очереди выложить на форму, то у нижней TabOrder = 0, и далее 1,2...
соответственно у самого верхнего слоя бутерброда будет самое больше число у нижнего 0.
rocklistener...
|
04.05.2009, 17:27 | #3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
а если они динамические?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
04.05.2009, 19:02 | #4 | |
Форумчанин
Регистрация: 06.03.2009
Сообщений: 583
|
А если в свойство Image1.Tag прописывать с первого до последнего и при этом делать Image1.SendtoBack;
Сделать специальную процедуру, где сравнивать есть пересечение двух TRect,а их заполнять на основе Image.Top и т.д. То есть будет A,B,C: TRect; получается надо проверить A-B; B-C; C-A на наличие пересечений и в это же время проверять значения Image.Tag --------- Кстати видел такой еще код, только вот странно у Image.handle что так не получается. Цитата:
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
Последний раз редактировалось ArtInt; 04.05.2009 в 19:05. |
|
04.05.2009, 19:07 | #5 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
а вообще есть ли способ узнать Z порядок?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
04.05.2009, 20:26 | #6 | |
Форумчанин
Регистрация: 06.03.2009
Сообщений: 583
|
Кстати вот что интересного узнал из статьи в DelphiWorld
Цитата:
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
|
|
04.05.2009, 21:25 | #7 |
Форумчанин
Регистрация: 06.03.2009
Сообщений: 583
|
Кажется я докапался как найти z последовательность компонентов на форме. Можно попробовать так. Проверял, вроде бы работает, то есть выводит список от 0 до n последовательности компонентов на форме, а значит кто поверх кого.
Код:
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ссылка в ячейках друг на друга | ded- | Microsoft Office Excel | 3 | 10.04.2009 15:42 |
Наложения изображения друг на друга | rudakop | HTML и CSS | 1 | 16.09.2008 03:03 |
Можно ли выделять ячейки размещенные вдали друг от друга в StringGrid? | aslanbek | Общие вопросы Delphi | 5 | 14.03.2008 23:31 |
Найти в массиве квадратные корни наиболее удаленные друг от друга | sher_man | Помощь студентам | 2 | 05.12.2007 10:15 |