Форум: "Начинающим";
Текущий архив: 2006.12.24;
Скачать: [xml.tar.bz2];
ВнизВопросец по динамическому созданию контролов Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.044 c