with sender as TImage do
case tag of
0:;//Image у которого св-во tag=0
1:;//Image у которого св-во tag=1
2:;//Image у которого св-во tag=2
...
end;
TImage(sender).width:=100;//изменение св-в рассматриваемого имейджа
Как определить компонент на котором произошло событие?
Вознникла такая проблема: у меня на форме расположено 12 TImage, на все определен один и тот же обработчик OnMouseDown. Как определить на какой именно TImage пользовательно нажал? Заранее спасибо!
Цитата: HowlingWind
Добрый день!
Вознникла такая проблема: у меня на форме расположено 12 TImage, на все определен один и тот же обработчик OnMouseDown. Как определить на какой именно TImage пользовательно нажал? Заранее спасибо!
Вознникла такая проблема: у меня на форме расположено 12 TImage, на все определен один и тот же обработчик OnMouseDown. Как определить на какой именно TImage пользовательно нажал? Заранее спасибо!
У обработчика OnMouseDown есть такой параметр Sender: TObject
Код:
а ещё можно через Name обратится, свойство Name это обычная строка!
Но через Tag проще.
Но возникла еще одна проблема: на эти TImage повешено всплывающее меню, при нажатии на кнопке меню, Sender возвращает TMenuItem, как в таком случае узнать к какому TImage относится это событие?
П.С.: все TImage я храню в массиве Picture: array [1..12] of TImage;
Самостоятельно отображать PopupMenu, перед этим запоминяая контрол к которому оно относится сейчас.
А нельзя ли поподробнее? Я не очень хорошо разбираюсь в тонкостях языка.
PopupMenu1.PopupComponent - компонент, на котором произошёл "попуп". И можно не приводить к типу TImage, всё равно мы будет иметь доступ к свойству Tag