![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
PopupMenu
ArtemESC © (2006-08-10 13:32:00)Есть несколько динамических кнопок, всем соответсвует одно Popup-меню, как в обработчиках этого меню определить какая кнопка нажата?
Ega23 (2006-08-10 16:15:00) [1]
> может быть с TButton я и переборщил, но у TPopupMenu.OnPopup
> Sender - TObject
TButton тоже TObject, т.к. потомок в пятом поколении.
Я имел ввиду, что если ты будешь Sender к TBotton приводить, то не факт, что приведётся.
Плохиш (2006-08-10 16:07:00) [2]
> umbra © (10.08.06 16:01) [13]
> 2 umbra © (10.08.06 15:55) [12]
>
> я хотел сказать, у (элемент меню).OnClick Sender - TObject
Это тип передаваемого параметра, а сам параметр может указывать на любой объект, являющийся потомком от TObject.
> ArtemESC © (10.08.06 15:42) [11]
А [2] было тихо не замечено?
clickmaker (2006-08-10 16:03:00) [3]
> umbra © (10.08.06 16:01) [13]
и что? Он практически всегда TObject
umbra (2006-08-10 16:01:00) [4]2 umbra © (10.08.06 15:55) [12]
я хотел сказать, у (элемент меню).OnClick Sender - TObject
umbra (2006-08-10 15:55:00) [5]2 Ega23 ©
может быть с TButton я и переборщил, но у TPopupMenu.OnPopup Sender - TObject
ArtemESC (2006-08-10 15:42:00) [6]clickmaker © (10.08.06 15:40) [9]
Thanks...
Ega23 (2006-08-10 15:41:00) [7]У меня большие сомнения, что в качестве Sendera будет именно TButton (или TSpeedButton) приходить. Если мне не изменяет память, там Taction, вроде...
Проанализируй Sender.ClassName
clickmaker (2006-08-10 15:40:00) [8]Если у всех SpeedButton.PopupMenu := ОдноНаВсехМеню, то в Menu.popupComponent точно должна быть кнопка
в Menu.OnClick соответственно
if (TPopupMenu(TMenuItem(Sender).GetParentMenu).PopupComponent.Tag = ...)
ArtemESC (2006-08-10 15:35:00) [9]>>А всегда ли Cender'ом будет tButton?
TSpeedButton
>>SergP © (10.08.06 15:00) [5]
>>А ты туда что-то писал, если хочешь чтобы там что-то было?
У меня массив спидбатонных кнопок, в их таги, при создании я записываю их индексы, в OnClick [3] работает, а с меню какая-то лажа...
MsGuns (2006-08-10 15:34:00) [10]В [1] оптимальное решение
Ega23 (2006-08-10 15:29:00) [11]А всегда ли Cender'ом будет tButton?
SergP (2006-08-10 15:00:00) [12]> [4] ArtemESC © (10.08.06 13:55)
> umbra © (10.08.06 13:45) [3]
> Ну я так и делаю - все время ноль возвращаеться...
А ты туда что-то писал, если хочешь чтобы там что-то было?
ArtemESC (2006-08-10 13:55:00) [13]umbra © (10.08.06 13:45) [3]
Ну я так и делаю - все время ноль возвращаеться...
umbra (2006-08-10 13:45:00) [14]
if (Sender as TButton).Tag = ........
Ega23 (2006-08-10 13:42:00) [15]Создать ActionList с набором экшенов, кнопке прописывать экшн, пункту меню также.
stone (2006-08-10 13:42:00) [16]OnPopup
PopupComponent