|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.06.2011, 23:25 | #1 |
Сливочное масло
Участник клуба
Регистрация: 01.01.2011
Сообщений: 1,149
|
Повесить общую процедуру на событие кучки компонентов
Дано:
10 компонентов Image. Надо: Для всех 10 нужно на событие OnMouseEnter повесить код. Вопрос: Как это сделать динамически? Суть вопроса: Обычно это делают так: выбирают компонент, жмут вкладку Events, находят нужное событие, щёлкают, пишут куда показала среда. Но мне както лениво набивать один и тотже текст таким вот образом. Вот я в цикле перебираю и мне хочется сделать както так, тобишь назвначить на это событие общую процедуру: Код:
Сливочное масло Valio - компиляция как по маслу
|
03.06.2011, 23:27 | #2 |
Форумчанин
Регистрация: 29.06.2008
Сообщений: 603
|
(CompImg As TImage).OnMouseEnter := MySuperProcedure;
|
03.06.2011, 23:47 | #3 |
Сливочное масло
Участник клуба
Регистрация: 01.01.2011
Сообщений: 1,149
|
Спасибо, я так тоже пробывал, но работать это стало только когда я написал:
Код:
Сливочное масло Valio - компиляция как по маслу
|
04.06.2011, 00:01 | #4 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
Еще бы, ведь Sender ссылается на объект который сгенерировал событие...т.е. по сути Sender ссылается на компонент, который вызывает наш метод обработки события...как-то так...
Будь проще и люди к тебе потянутся
|
04.06.2011, 15:16 | #5 | |
Форумчанин
Регистрация: 26.01.2010
Сообщений: 215
|
Цитата:
Могу лишь пнуть в нужном направлении (ну или как получится)
|
|
13.10.2014, 15:00 | #6 |
Старожил
Регистрация: 19.06.2013
Сообщений: 2,469
|
Это возможно если компонентов мало, а если 300 штук?
Нашел, как это делается (http://zoo-mania.ru/delphi/tobjectlist/index.html), но этот пример не работает: Код:
Где забыли (или стёрли) нужный: Код:
Репутация: полный "0"
|
13.10.2014, 15:24 | #7 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,894
|
А не надо было ручками в pas-файле менять Form1 на frmCallbase. Менять имя формы надо было в инспекторе объектов. Ну а раз уж так сделал, то теперь меняй имя формы ручками еще и в dfm-файле.
|
13.10.2014, 16:00 | #8 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
zvygin1964, Все проще. Не надо никаких классов самому писать. Есть класс TComponentList. И есть оператор is.
Храни там определенный тип компонентов и не заморачивайся. А с обобщенными типами данных(начиная с Delphi 2010) вообще все проще, только переменные объявить: Код:
|
13.10.2014, 16:07 | #9 |
Старожил
Регистрация: 19.06.2013
Сообщений: 2,469
|
Информация о класс TComponentList обрывочна. У меня Delphi 7. Где посмотреть на работающий пример. Google дает миллион ссылок начиная от Delphi 3.
Работающий пример ищу со времён вопроса http://www.programmersforum.ru/showt...=118353&page=5
Репутация: полный "0"
|
13.10.2014, 16:13 | #10 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,646
|
Ничего, что ТС на форуме уже два года не появлялся? Наверное, замерз в холодильнике.
E-Mail: arigato.freelance@gmail.com
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как "повесить " передачу данных из формы на событие нажатия кнопки типа "button" ? | vedro-compota | JavaScript, Ajax | 10 | 14.12.2010 21:05 |
На какое событие повесить процедуру изменения насыщенности шрифта в ячейке? | O_H | Microsoft Office Excel | 3 | 19.08.2010 20:06 |
Как повесить обработчик на AfterRefresh QueryTable | Dryou | Microsoft Office Excel | 0 | 21.04.2010 13:05 |
как повесить на кнопку 2 действия??? | Только_Учусь | Общие вопросы Delphi | 4 | 22.09.2008 19:42 |
Повесить XP | ERASERROR | Свободное общение | 9 | 28.02.2008 22:51 |