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

Выпадающее меню   Найти похожие ветки 

← →
Сайбель Алексей ©   (2004-10-21 15:32) [0]

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


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


← →
Ega23 ©   (2004-10-21 15:36) [1]

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 передаваться.


← →
-=SS=- ©   (2004-10-21 15:39) [2]



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:46) [3]

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

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


← →
-=SS=- ©   (2004-10-21 16:09) [4]

>> 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;


← →
Сайбель Алексей ©   (2004-10-21 17:12) [5]

Спасибо.



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

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



Память: 0.45 MB
Время: 0.02 c
14-1098276307
Alek
2004-10-20 16:45
2004.11.07
Про написание сервисов!


1-1098777268
BaDeVlad
2004-10-26 11:54
2004.11.07
Как обрезать WMF?


9-1088939185
Werwolf
2004-07-04 15:06
2004.11.07
Анимация в играх


9-1089190934
BladeMaster
2004-07-07 13:02
2004.11.07
BitBlt и прозрачность


1-1098270070
Calm
2004-10-20 15:01
2004.11.07
TXMLDocuemnt, проблема с кирилицей




   Наверх