| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Как узнать из какой кнопки была вызвана процедура |
| Автор: NightWolf 9.11.2005, 19:27 |
| Есть массив кнопок создаваемых динамически, скажем Buttons: array of TButton; после создания кнопки я пишу Buttons.OnClick:=ButtonClick; описываю процедуру ButtonClick и тут вопрос, как узнать из какой кнопки была вызвана процедура, так как кликая на любую из них я попадаю в эту процедуру, или же предложите иной метод реализации |
| Автор: Alex 9.11.2005, 19:32 |
| В качестве входного параметра OnClick передается Sender по нему и можно узнать какой компонент вызвал событие. Как вы хотите различать кнопки? Вы даете им разные имена или присваивате свойство Tag? |
| Автор: NightWolf 9.11.2005, 19:37 | ||
примерно так =) значит делаю проверку типа if Sender = Buttons[i] then я правильно понял? |
| Автор: _hunter 9.11.2005, 20:10 |
| проще при создании заполнять Tag: Buttons[i].Tag = i; потом приводить Sender к TComponent и смотреть этот Tag |
| Автор: Alex 13.11.2005, 17:04 | ||
NightWolf, как сказал _hunter присваивайте свойству Tag уникальный номер кнопки, а потом в OnClick вы можете получить значение свойства Tag:
|
| Автор: Marriage 14.11.2005, 15:56 |
| Если нужно производит операции над кнопкой , тогда просто TButton(Sender) чем плох ??? |