| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Обработчик события |
| Автор: KeenGravy 8.8.2006, 18:59 | ||
Во время работы приложения (т.е. в run-time) создаю компонент, к примеру:
А проблема в следующем: Не получается придумать обработчик событий для OnClick!!!!! (совершенно обычный OnClick нужен, только для создаваемого ком-та). Или он где-то есть уже, что даже скорей всего, просто его выцарапать надо... |
| Автор: Демо 8.8.2006, 19:50 |
| KeenGravy, У TImage ведь есть событие OnClick. |
| Автор: KeenGravy 8.8.2006, 21:04 |
| Ну да.... В том то и дело, что событие есть! Я вот чего имею ввиду: Если мы кидаем на форму компонент, то кликнув по нему или выбрав событие onClick, мы создаем процедуру - обработчик события, типа procedure TForm1.Image1Click(sender) ...... бла-бла....., где мы напишем все что нужно, все шоколадно. Как мне сделать тоже самое, только если компонента первоначально нет, а появится он только при определенных условиях в запущенной программе. Воть. Надеюсь, теперь более по-русски... |
| Автор: Romikgy 8.8.2006, 21:19 |
| а кто мешает написать требуемую ф-цию, в формате и после создания подсунуть в Image.onClick:=твоя ф-ция? |
| Автор: Alexeis 8.8.2006, 22:23 | ||
Должно получится примерно так
|
| Автор: KeenGravy 9.8.2006, 11:44 | ||
| Во!!! Спасибо, догнал теперь. Только чтоб это работало надо объявить такую процедуру:
И соответсвенно все дальнейшие манипуляции.... |
| Автор: Демо 9.8.2006, 15:47 |
С какой стати классовая процедура? обработчик должен быть методом класса. |
| Автор: Snowy 9.8.2006, 15:50 |
| Демо, ты хотел сказать объекта. |
| Автор: Rennigth 9.8.2006, 15:57 |
мдя, такое на верное и не приснилось бы... хотя если Sender-а правильного передавать, этим даже "можно" пользоваться если из Sender-данные брать |
| Автор: Snowy 9.8.2006, 16:26 | ||
| По логике евент должен быть методом объекта. Хотя по факту можно ему подсунуть и метод класса. А, если знать внутренее устройство, то и обычную процедуру подсунуть.
Но так делать не стОит |
| Автор: AJIeKcEu 10.8.2006, 05:57 |
| А что если воспользаваться полиморфизмом... полиморф.. пишется так: (Sender as TObject).OnClick:=button1.onclick; эт так для справки |
| Автор: Shuricksoft 10.8.2006, 13:47 | ||
А не смущает, что Sender и так объявлен как TObject? =) Кстати, если такой компонент один, то почему б его не создавать заранее, но невидимым? А, если нужно, делать visible := true. |