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

Вниз

Динамическое меню   Найти похожие ветки 

 
Woprosnik   (2005-06-03 10:30) [0]

Программно создаю пункты меню. Теперь на каждый смозданный пункт надо повесить обработчик события OnClick. Подскажите пожалуйста, как это можно сделать?

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


 
Sergey Masloff   (2005-06-03 10:35) [1]

Просто присвоить событию указатель на процедуру.


 
Woprosnik   (2005-06-03 10:39) [2]

Пытаюсь так сделать, но не срабатывает. Хотя, возможно, я что-то делаю не так. Вот код создания:

 While not Form1.pFIBDataSet5.Eof do begin
      NewItem:= TMenuItem.Create(Self);
      NewItem.Caption:= Form1.pFIBDataSet5Tip.AsString;
      NewItem.ImageIndex:= 0;
      PopupMenu1.Items.Add(NewItem);
      PopupMenu1.Items.OnClick:= N1Click;
      Form1.pFIBDataSet5.Next;
   end;


 
Плохиш ©   (2005-06-03 10:54) [3]

Обработчик надо присваивать каждому создаваемому пункту меню


NewItem.OnClick := ...


 
Woprosnik   (2005-06-03 12:05) [4]

Большое спасибо.
Еще один вопрос. Как определить какой из пунктов меню выбрано? Как я понимаю, подобия свойства SelectIndex у PopupMenu нет.


 
Gero ©   (2005-06-03 12:09) [5]

Что значит «выбрано»?


 
Pearled ©   (2005-06-03 12:11) [6]

If TMenuItem(Sender).Caption = ... then ...


 
Woprosnik   (2005-06-03 12:11) [7]

По которому сделан клик.
Динамически фйормируется меню. В программе пользователь открывает еге, щелкает по пункту меню. Как мне определеить в программе, по какому пункту был сделан клик?


 
Woprosnik   (2005-06-03 12:49) [8]

Всем большое спасибо.



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

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

Наверх




Память: 0.48 MB
Время: 0.033 c
3-1115992749
Вольный Стрелок
2005-05-13 17:59
2005.06.29
ручная установка флага состояния записи в ClientDataSet


1-1118157641
Vitalik
2005-06-07 19:20
2005.06.29
runtime пакеты


14-1117053391
Санёк
2005-05-26 00:36
2005.06.29
Блок-схема программы.


1-1118225959
Andy BitOff
2005-06-08 14:19
2005.06.29
Надо послать сообщение своей программе.


8-1110308590
New37th
2005-03-08 22:03
2005.06.29
Люди, хэлп ми плиз, спрайты!!!!