上一篇 | 下一篇

Delphi中不使用第三方控件实现XP风格POP菜单

发布: 2008-6-26 17:57 | 作者: admin | 来源: | 查看: 0次

穆龙原创 ,绝对不是抄袭的,辛辛苦苦才发现的,转载请留下我的大名,谢谢。

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)

字号: | 推荐给好友

评分:0

我来说两句