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

Вниз

динамическое создание элементов в TPopupMenu и обработка   Найти похожие ветки 

 
AlexeiBerkov ©   (2007-05-15 18:12) [0]

Доброго всем времени суток!

На форме есть компонент TPopupMenu.

Его элементы я создаю динамически. При этом в свойстве OnClick я указываю   некий свой метод. Всё отлично! Всё работает!  НО !  Возникает вопрос:  как мне в этом обработчике (в этой функции) узнать имя токо пункта меню, которым был вызван обработчик?

Ниже привожу кусок программного кода:



type
  PopupMenu: TPopupMenu;

procedure MyPopupHandler(Sender: TObject); // собственно обработчик
procedure genereteMenu();                          // генератор меню
.............

procedure TMainForm.genereteMenu();
var
   MyItem: array[0..10] of TMenuItem;
   i: Integer;
   nameOfComponent:string;
begin

 for i := 0 to 10 do begin
     nameOfComponent:="Item" + inttostr(i);
     MyItem[i] := TMenuItem.Create(Self);
     MyItem[i].Caption := "New item " + IntToStr(i);
     MyItem[i].OnClick:=MyPopupHandler;
     MyItem[i].Name:=nameOfComponent;
     PopupMenu.Items.Add(MyItem[i]);
 end;

end;

procedure TMainForm.MyPopupHandler(Sender: TObject);
begin
 with Sender as TMenuItem do begin
       // вот тут и возникают вопросы
 end;
 ShowMessage("А я обработчик");
end;



 
G_M_S ©   (2007-05-15 18:21) [1]

При создании компонента -

MyItem[i].TAG := i;

В обработчике:

case (Sender as TMenuItem).Tag of

1:begin
...
end;

..........


 
AlexeiBerkov ©   (2007-05-15 18:23) [2]


> MyItem[i].TAG := i;


Работает!

Спасибо!
Долго мучАлся....


 
jaggies   (2007-05-15 18:38) [3]

посмотри свойства сендера



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

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

Наверх




Память: 0.47 MB
Время: 0.046 c
3-1173776948
George
2007-03-13 12:09
2007.06.03
Проблема с коннектом


2-1178970944
Strate
2007-05-12 15:55
2007.06.03
Exeption внутри Thread


4-1167412167
MasteroK
2006-12-29 20:09
2007.06.03
Отловить событие изменения разрешения экрана, и узнать размеры


15-1178175143
DVM
2007-05-03 10:52
2007.06.03
Выбо USB ключа аппаратной защиты программ.


8-1159045145
Brandik
2006-09-24 00:59
2007.06.03
Считывание BMP изображения и перевод в массив