![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Уничтожение динамического TImage [D7, WinXP]
indiegod © (2009-09-07 00:38:00)Есть несколько TImage, которые создаются кликом по форме. Есть желание создать кнопку "очистить", которая бы убирала все эти TImage.
Вот как создаются эти копоненты:
numrry[i]:=TImage.Create(Form2);
numrry[i].Parent:=Form2;
numrry[i].Visible:=true;
numrry[i].Left:=Mouse.CursorPos.X - 10;
numrry[i].Top:=Mouse.CursorPos.Y - 55;
numrry[i].Height:=25;
numrry[i].Width:=25;
Anatoly Podgoretsky (2009-09-07 16:09:00) [1]Так и будет, пока они так считают, но славо богу есть адекватные люди и их большинство.
Плохиш (2009-09-07 16:04:00) [2]
> KilkennyCat © (07.09.09 14:34) [36]
>
> Тогда объясни, зачем этот раздел форума.
Самый прикол, что все (недо-)начинающие упорно игнорируют раздел "Начинающим", они ж знают, что модераторам заняться больше нечем, чем переносить вопросы разжёванные в книжках из всех конференций в "Начинающим".
clickmaker (2009-09-07 15:55:00) [3]> Anatoly Podgoretsky © (07.09.09 15:51)
чтобы мастера могли пальцы погнуть. По крайней мере, так считают многие начинающие -)
Anatoly Podgoretsky (2009-09-07 15:51:00) [4]Неужели для обучения начинающих?
KilkennyCat (2009-09-07 14:34:00) [5]Тогда объясни, зачем этот раздел форума. И могу за небольшую сумму убедить того, кто заставляет тебя бесцельно тратить время не заставлять это делать.
Плохиш (2009-09-07 12:01:00) [6]
> KilkennyCat © (07.09.09 11:21) [33]
>
>
> > Плохиш © (07.09.09 10:35) [32]
> > Научиться кодить за счёт времени обитателей форума.
>
> Разве это плохо?
Я не знаю как расценивают другие бесцельно потраченное время.
DVM (2009-09-07 11:32:00) [7]
> indiegod (07.09.09 01:43) [14]
>
> да, кстати, там на форме еще есть имейджи, этот метод их
> тоже стирает
> и еще есть ошибка List Index is out of bunds
Я же тебе написал, удалять надо не все имиджи, а по критерию какому нибудь. Проще всего в Tag их положить по какому нибудь числу. Те имиджи у которых это число в теге есть удаляем, прочие - нет.
List Index is out of bunds возникает из-за того, что ты не вник в [12] последний абзац.
KilkennyCat (2009-09-07 11:21:00) [8]
> Плохиш © (07.09.09 10:35) [32]
> Научиться кодить за счёт времени обитателей форума.
Разве это плохо?
Плохиш (2009-09-07 10:35:00) [9]
> Германн © (07.09.09 01:49) [16]
> Ты бы лучше изложил свою задачу.
Научиться кодить за счёт времени обитателей форума.
> Германн © (07.09.09 02:03) [19]
> На футбольном поле может быть только один мячик!
Хоттабыч с тобой не согласен ;-)
Anatoly Podgoretsky (2009-09-07 09:17:00) [10]
> правда программа выдает ошибку операции с плавающей точкой
Надо бы сначала исправить ошибку, а то вместо одной будет уже две, собственно так это и произошло.
KilkennyCat (2009-09-07 03:20:00) [11]Можно и не все.
http://www.kilkennycat.ru/_SocioOpros.zip
Здесь небольшой пример, как коряво (ибо тогда я тогда я еще учился), но работоспособно можно работать по вышеуказанному мной способу. Включая перетаскивание мышкой. Требует RxLibrary
Германн (2009-09-07 03:15:00) [12]
> KilkennyCat © (07.09.09 03:11) [28]
>
> не знаю. вполне понятная задача. имеем некое поле, на которое
> можно в произвольном порядке отрисовать некие объекты, при
> необходимости - стереть все.
>
Дык "все" автор стирать не хочет!
См. indiegod (07.09.09 01:43) [14]
Но про футбол я молчу!
KilkennyCat (2009-09-07 03:11:00) [13]не знаю. вполне понятная задача. имеем некое поле, на которое можно в произвольном порядке отрисовать некие объекты, при необходимости - стереть все.
Германн (2009-09-07 03:04:00) [14]
> KilkennyCat © (07.09.09 02:50) [26]
>
> гм... у мня нет шарфика.
>
Ну и слава богу! Ты ведь в первую очередь "нормальный человек". Да и во вторую тоже. И во все следующие.
Но ведь автор привёл некий "футбольный" пример! Но так и не удосужился описать саму задачу.
P.S.
Я сам когда-то давно занимался спортом, спортивными играми на любительском уровне.
KilkennyCat (2009-09-07 02:50:00) [15]гм... у мня нет шарфика.
Германн (2009-09-07 02:44:00) [16]
> KilkennyCat © (07.09.09 02:23) [24]
>
> Я бы сделал так.
Некоторые Питерцы делают ещё проще, кидают шарфик в морду.
:)
KilkennyCat (2009-09-07 02:23:00) [17]Я бы сделал так. Имеем три TBitMap и один массив координат.
TBitMap1 содержит фон , поле, например.
TBitmap2 содержит рисунок, мячика, например.
TBitmap3 - тут мы рисуем.
Итог:
Рисование:
Кидаем TBitMap1 на TBitMap3
Бежим по массиву координат и смотрим, если что-то там есть - по координатам кидаем TBitmap2 на TBitmap3
Кидаем TBitMap3 на канву контрола, который у нас для отображения, например TPanel.
Обработка клика:
Запоминаем в массив координату клика и убегаем на Рисование.
Удаление:
То же, что и рисование, но по массиву не бежим.
Все. И не надо кучи визуальных компонентов.
Германн (2009-09-07 02:21:00) [18]
> объясняю еще раз
>
> есть схема поля. допустим, игрок №7 ударил с линии штрафной.
> мне нужно поставить точку с его номером в месте, откуда
> он бил. я кликаю по месту на картинке с полем, у меня генерится
> картинка с изображением футболки с номером 7
>
> в конце тайма мне надо стереть все данные за прошлый тайм.
>
> вопрос только в ом как?
>
Задачу, извини, так и не понял.
Но могу сказать, что совет
> DVM © (07.09.09 00:42) [1]
>
> Заведи свой список (TList) куда заноси указатели на все
> созданные имейджи
гарантировано сработает.
indiegod (2009-09-07 02:15:00) [19]оххх
ладно.
объясняю еще раз
есть схема поля. допустим, игрок №7 ударил с линии штрафной. мне нужно поставить точку с его номером в месте, откуда он бил. я кликаю по месту на картинке с полем, у меня генерится картинка с изображением футболки с номером 7
в конце тайма мне надо стереть все данные за прошлый тайм.
вопрос только в ом как?
Германн (2009-09-07 02:11:00) [20]
> indiegod (07.09.09 02:05) [20]
>
> я сказал, допустим, что мячиков
> мне нужно выводить на экран в точке изображение
Иногда лучше жевать чем говорить.