Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.24;
Скачать: CL | DM;

Вниз

Вопросец по динамическому созданию контролов   Найти похожие ветки 

 
dreamse   (2006-12-06 01:11) [0]

Создаю динамически POPupmenu присваеваю это меню динамически созданому компоненту : кнопке

В Onclick пункта меню вызываю процедуру :


OnClick := DeleteMenuClick;


Вопрос как в процедуре


procedure DeleteMenuClick(Sender: TObject);


Узнать имя кнопки с которой вызали popup меню ?

Пробывал код :


ShowMessage((Sender as TMenuItem).ClassName);


но он возвращает только TMenuItem :(

Нужно определить именно имя кнопки с корой было вызвано это меню. Сколько кнопок неизвестно


 
dreamse   (2006-12-06 01:13) [1]

Вернее пробывал :

ShowMessage(Sender.ClassName);

Он и пишет TMenuItem а дальше продвинуться немогу :(


 
Германн ©   (2006-12-06 01:47) [2]


> dreamse   (06.12.06 01:11)
>
> Создаю динамически POPupmenu

А POPupmenu - это TPopupMenu?
Если да, то его свойство PopupComponent тебе в руки.


 
dreamse   (2006-12-06 02:20) [3]

> Германн ©   (06.12.06 01:47) [2]

Направление получил, проблема в том что в процедуре я получаю уже не TPopupMenu а его потомка TMenuItem как из TMenuItem вытащить родителя а уж из него PopupComponent ?


 
dreamse   (2006-12-06 03:01) [4]

Код : ShowMessage(TPopupMenu(TMenuItem(sender).parent).PopupComponent.Name);

Выдаёт ошибку

а код :
без parent выдаёт пустую строку  :(  

ShowMessage(TPopupMenu(TMenuItem(sender)).PopupComponent.Name);

Куда копать ?


 
Loginov Dmitry ©   (2006-12-06 07:49) [5]

> ShowMessage(TPopupMenu(TMenuItem(sender).parent).PopupComponent.Name)


Попробуй Owner вместо parent


 
Плохиш ©   (2006-12-06 11:13) [6]


> dreamse   (06.12.06 03:01) [4]
> Код : ShowMessage(TPopupMenu(TMenuItem(sender).parent).PopupComponent.
> Name);
>
> Выдаёт ошибку

Нравятся мне всегда такие сообщения. Нет в делфи такого сообщения "Ошибка".

> Куда копать ?

Ну там где что-то выдаётся обычно описано "куда копать"


 
Anatoly Podgoretsky ©   (2006-12-06 11:23) [7]

> Плохиш  (06.12.2006 11:13:06)  [6]

> Ну там где что-то выдаётся обычно описано "куда копать"

От забора до обеда.


 
Stanislav ©   (2006-12-06 11:27) [8]

ShowMessage((Sender as TMenuItem).Name); а так?


 
dreamse   (2006-12-06 17:21) [9]

> Stanislav ©   (06.12.06 11:27) [8]

Нет :)

Вот так : ShowMessage(TPopupMenu(TMenuItem(sender).GetParentMenu).PopupComponent.Name);

Всем спасибо. Тема закрыта.



Страницы: 1 вся ветка

Текущий архив: 2006.12.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.06 c
15-1165047870
Pazitron_Brain
2006-12-02 11:24
2006.12.24
Почему не продают процессоры Cell?


15-1165184452
Pr!m@ry
2006-12-04 01:20
2006.12.24
Пароль от ICQ


11-1141583047
Vladimir Kladov
2006-03-05 21:24
2006.12.24
Версия 2.34


4-1155972674
Handle
2006-08-19 11:31
2006.12.24
TSysListView32


8-1145348353
Quattro
2006-04-18 12:19
2006.12.24
Эффект воды в 2D