Вниз
Скачать: CL | DM;

Динамическое создание PopupMenu и событие OnClick   Найти похожие ветки 

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

Как узнать по какому пункту 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:19) [1]

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

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


 
Defunct ©   (2004-09-28 03:21) [2]

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

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



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.02 c
4-1094036756
sesh
2004-09-01 15:05
2004.10.10
Процессы в системе


3-1094708784
Hohol
2004-09-09 09:46
2004.10.10
ADO+DBF - проблеммы с кодировкой


4-1094025255
Alex870
2004-09-01 11:54
2004.10.10
Командный процессор


3-1094463982
Alex Z
2004-09-06 13:46
2004.10.10
Вызов хранимых процедур из Делфи! ПРОБЛЕМЫ!!!


3-1094817179
mouse_web
2004-09-10 15:52
2004.10.10
Компонент соединения с базой Firebird




   Наверх