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

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

Выпадающее меню


Сайбель Алексей ©   (2004-10-21 15:32:00) 

Я программно создаю элементы выпадающего меню:
var
 NewItem:TMenuItem;
...    
 NewItem := TMenuItem.Create(Self);
 NewItem.Caption := OpenDialog1.FileName;
 ReOpen1.Insert(0,NewItem);


Как я мог бы обработать OnClick на этих вновь созданных меню?
tnk


Сайбель Алексей   (2004-10-21 17:12:00) [1]

Спасибо.


-=SS=-   (2004-10-21 16:09:00) [2]

>> Ega23 ©   (21.10.04 15:46) [3]
Да блин  голова уже вообще не варит


var
NewItem:TMenuItem;
...    
NewItem := TMenuItem.Create(Self);
NewItem.Tag := 1;
NewItem.Caption := OpenDialog1.FileName;
NewItem.OnClick := OnMyClick;
ReOpen1.Insert(0,NewItem);

type
TForm1 = class(TForm)
private
   Procedure OnMyClick(Sender: TObject);
public
................

Procedure TForm1.OnMyClick(Sender: TObject);
Begin
Case (Sender as TMenuItem).Tag of
 1: ........ ;
 2: ........ ;
 ................
end
End;


Ega23   (2004-10-21 15:46:00) [3]

2 -=SS=- ©   (21.10.04 15:39) [2]

Самое главное-то и забыл  :о)


-=SS=-   (2004-10-21 15:39:00) [4]



var
NewItem:TMenuItem;
...    
NewItem := TMenuItem.Create(Self);
NewItem.Tag := 1;
NewItem.Caption := OpenDialog1.FileName;
ReOpen1.Insert(0,NewItem);

type
 TForm1 = class(TForm)
 private
    Procedure OnMyClick(Sender: TObject);
 public
................

Procedure TForm1.OnMyClick(Sender: TObject);
Begin
 Case (Sender as TMenuItem).Tag of
  1: ........ ;
  2: ........ ;
  ................
 end
End;


Ega23   (2004-10-21 15:36:00) [5]

procedure TForm1.MenuItemClick(Sender:TObject);
begin
ShowMessage(TMenuItem(Sender).Caption);
end;

NewItem := TMenuItem.Create(Self);
NewItem.Caption := OpenDialog1.FileName;
NewItem.OnClick:=MenuItemClick;
ReOpen1.Insert(0,NewItem);


Но если у тебя Action'ы используются, то не прокатит, т.к. Сендером будет TAction передаваться.


Наверх

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