|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Динамический PopUp и ActionList
Динамически создаю PopUp элементами из базы:
Код:
While not IB_Concern_obj.Eof do begin NewItem:=TMenuItem.Create(self); NewItem.Action:=Action1; NewItem.Caption:=IB_Concern_obj.FieldByName('Name').AsString; PopupMenu_concern.Items.Add(NewItem); IB_Concern_obj.Next; end; |
#2
|
||||
|
||||
Неужели никто не знает? Или я плохо объяснил суть?
Вот процедура Action1Execute: Код:
procedure TDataModule_main.Action1Execute(Sender: TObject); begin // Edit1.Text:=название пункта меню, которое вызвало событие end; Последний раз редактировалось TOJluK, 04.05.2009 в 23:06. |
#3
|
||||
|
||||
Суть, собсно, ясна... помог бы, да не работал с таким... Смутное подозрение на то, что надо копать к Sender'у...
Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#4
|
|||
|
|||
Код:
Edit1.Text := (Sender as TMenuItem).Caption; P.S. А, нет... -_- С Action1Execute не пройдет. Можно всем создаваемым Items назначать не Action, а один и тот же метод OnClick, например... Код:
While not IB_Concern_obj.Eof do begin NewItem:=TMenuItem.Create(self); NewItem.OnClick:=AnyItemClick; NewItem.Caption:=IB_Concern_obj.FieldByName('Name').AsString; PopupMenu_concern.Items.Add(NewItem); IB_Concern_obj.Next; end; ......... procedure TForm1.AnyItemClick(Sender: TObject); begin Edit1.Text := (Sender as TMenuItem).Caption; end; Последний раз редактировалось Nyctos Kasignete, 04.05.2009 в 23:35. |
#5
|
||||
|
||||
Спасибо, не додумался назначить не Action, а метод OnClick! Так работает.
|