Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
| YurKaluga |
27.01.2006 13:14
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 53 Пол: Мужской Репутация: 0 |
Собственно вопрос в "Описании темы ".
Программно наполняю Popupmenu. Обработчик выбора - один на все (заранее не знаю, сколько будет пунктов). В обработчике нужно в зависимости от выбранного пункта, выполнить что-то. Не могу найти у Popupmenu свойство, которое показывает индекс выбранного пункта. Помогите, плиз!!! Нужно срочно. |
![]() ![]() |
| hardcase |
27.01.2006 14:38
Сообщение
#2
|
![]() code warrior ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 484 Пол: Мужской Реальное имя: Славен Репутация: 8 |
Тем, элементам, которые ты создаёшь, нужно назначить обработчик OnClick.
var Этот обработчик может быть универсальным (как в примере), тогда, чтобы узнать, индекс пункта меню надо выполнить Parent.IndexOf() procedure TForm1.OnMenuItemClick(Sender: TObject); Сообщение отредактировано: volvo - 7.11.2006 18:23 -------------------- ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
|
| YurKaluga |
27.01.2006 15:30
Сообщение
#3
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 53 Пол: Мужской Репутация: 0 |
Спасибо за помощь.
У меня получилось по другому: Код //Заполняем меню из списка For i:=0 to Rec_Count do begin PopupMenu2.Items.Add(NewItem(Types[i]{это массив такой},0,False,True,MenuItemClick,0,'MI')); PopupMenu2.Items[i].Tag:=i; end; //А это обработчик меню для StringGrid. Просто нужен был в таблице типа ComboBox procedure TForm3.MenuItemClick(Sender: TObject); begin SG.Cells[1,SG.Row]:=PopupMenu2.Items[(Sender as TMenuItem).Tag].Caption; end; Но за помощь все равно спасибо. |
YurKaluga Динамическое Popupmenu 27.01.2006 13:14
hardcase Да, пользоваться Tag даже быстрее, и в некоторых с... 27.01.2006 16:08![]() ![]() |
|
Текстовая версия | 10.12.2025 4:24 |