IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Динамическое Popupmenu, Как получить индекс выбранного пункта?
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 53
Пол: Мужской

Репутация: -  0  +


Собственно вопрос в "Описании темы ".
Программно наполняю Popupmenu.
Обработчик выбора - один на все (заранее не знаю, сколько будет пунктов).
В обработчике нужно в зависимости от выбранного пункта, выполнить что-то.
Не могу найти у Popupmenu свойство, которое показывает индекс выбранного пункта.ypriamii.gif
Помогите, плиз!!!
Нужно срочно.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


code warrior
****

Группа: Пользователи
Сообщений: 484
Пол: Мужской
Реальное имя: Славен

Репутация: -  8  +


Тем, элементам, которые ты создаёшь, нужно назначить обработчик OnClick.
var
Item: TMenuItem;
...

Item:=TMenuItem.Create(PopupMenu1);
...
Item.OnClick:=OnMenuItemClick;
...
PopupMenu1.Items.Add(Item);


Этот обработчик может быть универсальным (как в примере), тогда, чтобы узнать, индекс пункта меню надо выполнить Parent.IndexOf()
procedure TForm1.OnMenuItemClick(Sender: TObject);
var Item: TMenuItem absolute Sender; // stupid typecast =)
Index: integer;
begin
Index:=Item.Parent.IndexOf(Item);
end;


Сообщение отредактировано: volvo -


--------------------
ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 10.09.2025 6:34
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name