穆龙原创 ,绝对不是抄袭的,辛辛苦苦才发现的,转载请留下我的大名,谢谢。
1、在 Form1 上放一个 ActionManager1
2、再 ActionManager1 里面加入你的 Action1....ActionX
3、把 ActionManager1 里的 Action 分组
4、在 Form1 上放一个 ActionMainMenuBar1
5、把 ActionManager1 里的 Action 分组拖方到 ActionMainMenuBar1
6、在 Form1 上放一个 PopupMenu1 /* 也可以不放 ,但是如果是 Memo1 控件建议你放
一个空的PopupMenu1 用来屏蔽系统默认的 Popup 菜单 */
7、在 Form1 加入鼠标右键事件
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
Popup: TCustomActionPopupMenu;
P: TPoint;
begin
if mbRight = Button then
begin
Popup := TCustomActionPopupMenu.Create(Self);
try
Popup.ActionClient := ActionManager1.FindItemByCaption('编辑(&E)'); { 分组名称 }
P := ClientToScreen(Point(0, 0)); { Form 坐标到屏幕坐标的映射 }
Popup.Popup(P.X + X, P.Y + Y + 32); { 这坐标,你可以自己调整 }
finally
Popup.Free;
end;
end;
end;
8、小心 1...8 中的错别字
(出处:www.delphibbs.com)