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

Вниз

Генерация контекстного меню   Найти похожие ветки 

 
-=GaLaN=- ©   (2003-10-20 17:23) [0]

Расскажите, а лучше киньте в меня ссылкой, где объясняется, как динамически создавать контекстное меню у какого-нибудь компонента, а потом у него (меню) обрабатывать события?


 
Rouse_ ©   (2003-10-20 17:43) [1]

Вот по быстрому накидал

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
procedure MyItemClick(Sender: TObject);
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
MyMenu: TPopupMenu;
TmpItem: TMenuItem;
begin
MyMenu := TPopupMenu.Create(Self);
with MyMenu do
begin
TmpItem := TMenuItem.Create(MyMenu);
TmpItem.Caption := "Close Form";
TmpItem.OnClick := MyItemClick;
Items.Add(TmpItem);
Parent := Form1;
end;
PopupMenu := MyMenu;
end;

procedure TForm1.MyItemClick(Sender: TObject);
begin
Close;
end;

end.


Желаю успехов


 
-=GaLaN=- ©   (2003-10-20 19:09) [2]

Отлично, я создал таким образом меню из 10 пунктов. Сработало событие MyItemClick. Но оно срабатывает на всех пунктах! Как в самом событии определить, а на каком же пункте меню я все-таки щелкнул?


 
mOOx_ ©   (2003-10-20 19:23) [3]

Попробуй сделать так:
procedure TForm1.MyItemClick(Sender: TObject);
begin
if((Sender as TMenuItem).Caption="Item1")then //или текст (не помню)
Close;
end;


 
Rouse_ ©   (2003-10-21 08:57) [4]

Создавай для каждого пункта меню свой MyItemClick если с этим проблема. А если для всех будешь делать один обработчик, тогда по совету mOOx_.

Желаю успехов



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

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

Наверх




Память: 0.47 MB
Время: 0.019 c
14-98821
Palladin
2003-10-13 18:50
2003.10.30
www.internet-optimizer.com


3-98428
D'oh
2003-10-11 02:38
2003.10.30
SQL


9-98425
Fennek^Red
2003-04-24 15:43
2003.10.30
InvalidateRect


1-98657
ИМГусак
2003-10-21 12:38
2003.10.30
Продолжение к теме о simple mapi


1-98624
Raptorus
2003-10-17 15:58
2003.10.30
Уважаемые, Мастера. Подскажите как можно скопировать запси из