![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Доброго времени суток!
Не знаю как лучше поступить в ситуации - На форме может одновременно находится до 70 картинок. Если кликаем мышкой на картинку надо чтобы менялось значение в label или edit (неважно) под этой картинкой. Правая - уменьшаем значение. Левая - увеличиваем. Собна вопрос. Сделать еще 70 label помимо 70 img и написать по 70 обработчиков нажатия мышиных кнопок, для каждого image? или есть какое-нить более изящное решение? МОжно ли объекту Timage "дописать" свойство caption, которое бы располагалось под картинкой? и если можно, то как? Я чета совершенно не знаю как писать свои компоненты, до этого довольствовался стандартными только. Тогда бы можно было бы обойтись двумся обработчиками =) Гугление по различным сочетаниям слов caption, image, изображение, подпись и пр, не дало результатов. Спасибо за ответы. |
#2
|
||||
|
||||
![]() Большой разницы, как вы создаете компонент нет. Для отладки процесса вы можете создать ручками пару картинок и к ним едитов. Написать обработчики, так что-бы они выполняли задуманные вами действия и потом создать уже в программе нужное количество имиджей и меток использовав ваши обработчики. Ненужные тестовые картинки и метки можно после этого убрать.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
![]() Спасибо за ответ.
Пока решил проблему через фреймы. Но т.к. работа над программой только начата возможно еще придется переделывать. |
#4
|
||||
|
||||
![]() Проще всего в такой ситуации на мой взгляд было бы поставить всем картинкам один обработчик следующего типа. TImage(Sender).Name хранит имя картинки. Номер Edit'а совпадает с номером картинки, т.е. Image1-Edit1, Image2-Edit2 и так далее. В обработчике делаем
Код:
s:=TImage(Sender).Name; //получаем имя картинки delete(s,1,5); //получаем номер //TEdit(FindComponent('Edit'+s)).Text будет нужным текстовым полем Edit'а. jmp $ ; Happy End! The Cake Is A Lie. |
#5
|
|||
|
|||
![]() ну 70 объектов уже создано =) кинул на панель. потом копипаст и ренейм. Можно и динамически создавать... но там есть свои тонкости.
Картинки в данный момент расположены на ГридПанел, на которой 7 строк и 4 колонки. Т.е. максимально может быть 28 картинок на панели. Но такого не бывает и располагаются в рандомных ячейках. Там еще порисовать требуется в зависимости от расположения картинок и некоторых входных условий. Таких панелей 3 штуки будет. Для начала мне визуально надо оценить что получается. В принципе оттестировав все со статичными объектами можно и динамически создавать. И с фреймами тоже красиво получилось. Но ваш способ возьму на заметку. Спасибо. |