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

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

показать имя PopupMemu итема [D7, WinXP]


tradakad ©   (2004-12-20 15:21:00) 

есть итем создаваемый динамически.

function TfMain.AddToVisiblePopup(wTitle:string;Wnd:THandle):boolean;
var
 NewItem: TMenuItem;
begin
 NewItem := TMenuItem.Create(self);
 NewItem.Name:='vis'+inttostr(Wnd);
 NewItem.Caption:=wTitle;
 NewItem.ImageIndex:=ImageList1.Count-1;
 PopupMenu1.Items[0].Add(NewItem);
end;
как создать для него OnClick чтобы при клике на этом итеме показывалось наприер его имя?
пока чего я достиг так это вот:
 NewItem.OnClick:=HideVisibleWIndow(NewItem);
т.е. вызывается

procedure TfMain.HideVisibleWIndow(Sender: TObject);
begin
Showmessage(Sender.ClassName);
end;

и при клике я получаю имя класса TmenuItem. т.е. глубже ничего не могу достать. если пытаюсь передать какието еще параметры в HideVisibleWIndow - страшно ругается и не работает.


panov   (2004-12-20 15:51:00) [1]

>автор

Изучи правила.


Александр Иванов   (2004-12-20 15:34:00) [2]

Св-во TMenuItem.onClick имеет тип TNotifyEvent и менять количество параметров и их описание не получится.
А присваивать надо так:
NewItem.OnClick:=self.HideVisibleWIndow;


begin...end   (2004-12-20 15:34:00) [3]

> tradakad   (20.12.04 15:21)

> показывалось наприер его имя

Имя - это TMenuItem.Name, что ли?

Тогда ShowMessage((Sender as TMenuItem).Name), вероятно.


Александр Иванов   (2004-12-20 15:30:00) [4]

Вот это работает:
NewItem.OnClick:=HideVisibleWIndow(NewItem);
???


Наверх

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