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

> ВНИМАНИЕ!

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

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


Пионер
**

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

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


Собственно вопрос в "Описании темы ".
Программно наполняю Popupmenu.
Обработчик выбора - один на все (заранее не знаю, сколько будет пунктов).
В обработчике нужно в зависимости от выбранного пункта, выполнить что-то.
Не могу найти у Popupmenu свойство, которое показывает индекс выбранного пункта.ypriamii.gif
Помогите, плиз!!!
Нужно срочно.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
hardcase
сообщение 27.01.2006 14:38
Сообщение #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 - 7.11.2006 18:23


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

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


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

 



- Текстовая версия 18.08.2025 14:30
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"