Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Динамическое создание PopupMenu и событие OnClick [D6, WinXP]


НовичОк ©   (2004-09-28 01:25:00) 

Как узнать по какому пункту PopupMenu был клик, если PopupMenu создаётся динамически?

 with (Sender as TPopupMenu) do
 begin

   mi := TMenuItem.Create(self);
   with mi do
   begin
     Caption := 'XXXXXX';
     OnClick := MyClick;
   end;
   Items.Insert(0, mi);

Таких пунктов много и для каждого нельзя написать обработку OnClick, вот я и думаю что нужно передать MyClick название пункта по которому был клик и дальше выполнять нужные операции. Или всё это делается как-то по-другому?

Заранее спасибо!


Defunct   (2004-09-28 03:21:00) [1]

неточность допустил, сорри:

procedure TForm1.MyClick(Sender: TObject);
begin
if Sender is TMenuItem Then
with Sender as TMenuItem do // здесь Sender - пункт меню на который кликнули
Begin
  ShowMessage(Caption);
End;
end;


Defunct   (2004-09-28 03:19:00) [2]

procedure MyClick(Sender: TObject);
begin
 with Sender as TMenuItem do
 Begin
   ShowMessage(Caption);
 End;
end;

Sender - выбранный пункт меню.


Наверх

Титульная страница Поиск, карта сайта Написать письмо