Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо