Вопрос: Вот тут несколько вопросов об Image | Добавлено: 17.02.06 00:31 |
Автор вопроса: ![]() |
1)На форме несколько Image, некоторые накладываются друг на друга. Как заставить программу определить какие именно Image накладываются друг на друга?
2)Как запихать в Image анимированную иконку? При этом нужно чтобы иконка была подвижной. |
Ответы | Всего ответов: 31 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() Вопросов: 0 Ответов: 1876 ![]() |
Профиль | Цитата | #1 | Добавлено: 17.02.06 05:05 |
1. У которых выполняется IntersectRect.
2. Покадрово по таймеру. |
Номер ответа: 2 Автор ответа: ![]() ![]() Вопросов: 45 Ответов: 1212 |
Web-сайт: Профиль | Цитата | #2 | Добавлено: 17.02.06 08:17 |
Может ZOrder как нить проверять, или наоборот сам может установить что
те нужно. В смысле анимированная и так подвижна? |
Номер ответа: 3 Автор ответа: ![]() ![]() ICQ: 303-304-826 Вопросов: 24 Ответов: 103 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 17.02.06 12:28 |
GSerg
На счёт второго вопроса: Не. С этим заморачиваться не охото. [root] Да. В этом смысле. А на счёт ZOrder врятли получится |
Номер ответа: 4 Автор ответа: ![]() ![]() Вопросов: 45 Ответов: 1212 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 17.02.06 13:41 |
2Эндрю:
Я в том смылсе зачем проверять, ты сам возьми и измени положения и будешь уверен, что где |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #5 | Добавлено: 17.02.06 15:20 |
1) см. св-во имиджа.Zorder
2) никак, см. примеры... |
Номер ответа: 6 Автор ответа: ![]() ![]() ICQ: 303-304-826 Вопросов: 24 Ответов: 103 |
Web-сайт: Профиль | Цитата | #6 | Добавлено: 19.02.06 00:26 |
GSerg
IntersectRect - это АПИ функция? А то я никак не смог ей воспользоваться. HACKER Но ведь ZOrder всего лишь вытащит Image поверх всего остального |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #7 | Добавлено: 19.02.06 01:58 |
Ну а если не устанавливать ZOrder, а его читать...
|
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() Вопросов: 0 Ответов: 1876 ![]() |
Профиль | Цитата | #8 | Добавлено: 19.02.06 05:52 |
IntersectRect - это АПИ функция?
Да. Ну а если не устанавливать ZOrder, а его читать...
А как это поможет? |
Номер ответа: 9 Автор ответа: ![]() ![]() Вопросов: 45 Ответов: 1212 |
Web-сайт: Профиль | Цитата | #9 | Добавлено: 19.02.06 09:13 |
ZOrder тебе в помощь, как я сразу и сказал!
Или ты что то особенное хочешь получить? Смысл объяясни, может мы чего не понимаем |
Номер ответа: 10 Автор ответа: ![]() ![]() ![]() Вопросов: 0 Ответов: 1876 ![]() |
Профиль | Цитата | #10 | Добавлено: 19.02.06 10:26 |
И ты, [root], тоже объясни, каким боком ZOrder здесь поможет. |
Номер ответа: 11 Автор ответа: ![]() ![]() Вопросов: 45 Ответов: 1212 |
Web-сайт: Профиль | Цитата | #11 | Добавлено: 19.02.06 19:37 |
нужную картинку ставить поверх и все
тут непонятно что он хочет делать |
Номер ответа: 12 Автор ответа: ![]() ![]() ICQ: 303-304-826 Вопросов: 24 Ответов: 103 |
Web-сайт: Профиль | Цитата | #12 | Добавлено: 20.02.06 00:21 |
Ну что же тут непонятного! Объясняю подробно.
На форме один Image с индексом 0. При запуске прога загружает тот самый Image под разными индексами и расставляет их на форме случайным образом. После того как все image загружены прога должна определить индексы у тех Image которые наложены друг на друга (полностью или частично). А у тех Image, которые не соприкасаются с другими, индексы определять не надо. Вот и всё! |
Номер ответа: 13 Автор ответа: ![]() ![]() Вопросов: 0 Ответов: 1066 |
Профиль | Цитата | #13 | Добавлено: 20.02.06 01:54 |
Ну элементарно же:
Во вложенном цикле пробежаться по всему диапазону индексов, и произвести сравнение пар индексов по нескольким условиям: for i = 0 to image.count-1
for j = 0 to image.count-1 if (image(i).left > image(j).left) and (image(i).left < image(j).left + image(j).width) then if (image(i).top > image(j).top) and (image(i).top < image(j).top + image(j).height) then if i <> j then MsgBox i & "intersects with " & j 'intersect occurs endif endif next j next i |
Номер ответа: 14 Автор ответа: ![]() ![]() Вопросов: 45 Ответов: 1212 |
Web-сайт: Профиль | Цитата | #14 | Добавлено: 20.02.06 08:39 |
2Эндрю:
ну так скорее всего апишки тогда |
Номер ответа: 15 Автор ответа: ![]() ![]() ![]() Вопросов: 0 Ответов: 1876 ![]() |
Профиль | Цитата | #15 | Добавлено: 20.02.06 09:51 |
[root]
Прочитай ответ №1. Ответ №13 тоже прочитай. |
|