|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.03.2012, 15:34 | #1 |
Пользователь
Регистрация: 14.10.2011
Сообщений: 77
|
Динамически создаваемые компоненты
В процессе работы на форме создаётся компонент:
LabelTemp:=TLabel.Create(Self); LabelTemp.Parent:=Self; LabelTemp.AutoSize:=false; LabelTemp.Font.Size:=12; LabelTemp.Width:=200; LabelTemp.Height:=50; LabelTemp.Top:=100; LabelTemp.Left:=100; LabelTemp.Color:=RGB(250,250,250); LabelTemp.Alignment:=taCenter; LabelTemp.Caption:=' '; Как сделать обработчик события для этого компонента? |
30.03.2012, 17:04 | #2 |
Форумчанин
Регистрация: 30.10.2010
Сообщений: 524
|
Для события OnClick :
// обьявляем сначала процедуру Код:
Код:
Код:
|
30.03.2012, 17:14 | #3 |
Пользователь
Регистрация: 14.10.2011
Сообщений: 77
|
Спасибо, примерно то же самое надыбал на просторах инета.
Теперь, если определить один обработчик событий для нескольких элементов, то как определить в обработчике, какой из элементов среагировал? Через Self.Name поидёт? Количество создаваемых элементов заранее неизвестно, раздельные обработчики неприемлемы. |
30.03.2012, 17:24 | #4 | |
Форумчанин
Регистрация: 30.10.2010
Сообщений: 524
|
Цитата:
Procedure OnClickProc(sender: Tobject); begin (sender as TLabel).Caption:='something'; //или TLabel(Sender).Caption:='smth'; - аналогично //так будет изменяться назва лейбела, по которому был произведен клик end; |
|
30.03.2012, 17:27 | #5 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
только через Sender. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
30.03.2012, 17:28 | #6 |
Форумчанин
Регистрация: 30.10.2010
Сообщений: 524
|
Емм...а почему?
Ааа...затупил) Потому что Self у нас будет Form1. А Sender - уже какой-то Label. Последний раз редактировалось Delphi_ProGer; 30.03.2012 в 17:32. |
30.03.2012, 17:44 | #7 |
Пользователь
Регистрация: 14.10.2011
Сообщений: 77
|
Спасибо. Получилось через
(Sender as TLabel).Name Тема закрыта. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Доступ по паролям на динамически создаваемые диапазоны | Dmitrol | Microsoft Office Excel | 9 | 03.06.2011 12:13 |
Переписать с сохранением порядка следования компоненты файла F1 в файл F2, а компоненты файла F2 - в файл | Алексей_1 | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 20.05.2011 13:37 |
C# динамически создаваемые textbox | Matsur | Помощь студентам | 1 | 21.03.2011 16:19 |
PopupMenu и динамически созданые компоненты | mastersoftna | Общие вопросы Delphi | 2 | 11.01.2009 00:11 |
Avast поднимает тревогу на создаваемые в delphi программы, пишет вирус | Xemulb | Софт | 3 | 27.11.2008 21:37 |