Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.01.2011, 18:27
shturm shturm вне форума
Прохожий
 
Регистрация: 20.01.2011
Сообщения: 3
Репутация: 10
По умолчанию Разработка "интересной" программы

Доброго времени суток!
Не знаю как лучше поступить в ситуации - На форме может одновременно находится до 70 картинок. Если кликаем мышкой на картинку надо чтобы менялось значение в label или edit (неважно) под этой картинкой. Правая - уменьшаем значение. Левая - увеличиваем.
Собна вопрос. Сделать еще 70 label помимо 70 img и написать по 70 обработчиков нажатия мышиных кнопок, для каждого image? или есть какое-нить более изящное решение? МОжно ли объекту Timage "дописать" свойство caption, которое бы располагалось под картинкой? и если можно, то как? Я чета совершенно не знаю как писать свои компоненты, до этого довольствовался стандартными только.
Тогда бы можно было бы обойтись двумся обработчиками =)
Гугление по различным сочетаниям слов caption, image, изображение, подпись и пр, не дало результатов.
Спасибо за ответы.
Ответить с цитированием
  #2  
Старый 20.01.2011, 19:07
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Большой разницы, как вы создаете компонент нет. Для отладки процесса вы можете создать ручками пару картинок и к ним едитов. Написать обработчики, так что-бы они выполняли задуманные вами действия и потом создать уже в программе нужное количество имиджей и меток использовав ваши обработчики. Ненужные тестовые картинки и метки можно после этого убрать.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 21.01.2011, 14:55
shturm shturm вне форума
Прохожий
 
Регистрация: 20.01.2011
Сообщения: 3
Репутация: 10
По умолчанию

Спасибо за ответ.
Пока решил проблему через фреймы. Но т.к. работа над программой только начата возможно еще придется переделывать.
Ответить с цитированием
  #4  
Старый 21.01.2011, 15:38
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Проще всего в такой ситуации на мой взгляд было бы поставить всем картинкам один обработчик следующего типа. TImage(Sender).Name хранит имя картинки. Номер Edit'а совпадает с номером картинки, т.е. Image1-Edit1, Image2-Edit2 и так далее. В обработчике делаем
Код:
s:=TImage(Sender).Name;  //получаем имя картинки
delete(s,1,5);                   //получаем номер
//TEdit(FindComponent('Edit'+s)).Text будет нужным текстовым полем Edit'а.
Чтобы не отвалились руки в процессе ручного создания 70 картинок - смотри динамическое создание компонентов. И не забудь присвоить им имена.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
  #5  
Старый 21.01.2011, 20:20
shturm shturm вне форума
Прохожий
 
Регистрация: 20.01.2011
Сообщения: 3
Репутация: 10
По умолчанию

ну 70 объектов уже создано =) кинул на панель. потом копипаст и ренейм. Можно и динамически создавать... но там есть свои тонкости.
Картинки в данный момент расположены на ГридПанел, на которой 7 строк и 4 колонки. Т.е. максимально может быть 28 картинок на панели. Но такого не бывает и располагаются в рандомных ячейках. Там еще порисовать требуется в зависимости от расположения картинок и некоторых входных условий. Таких панелей 3 штуки будет. Для начала мне визуально надо оценить что получается. В принципе оттестировав все со статичными объектами можно и динамически создавать.
И с фреймами тоже красиво получилось. Но ваш способ возьму на заметку. Спасибо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:37.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025