如何使菜单和右键弹出菜单共用一套代码?(30分)

  • 主题发起人 主题发起人 *HelloWorld*
  • 开始时间 开始时间
H

*HelloWorld*

Unregistered / Unconfirmed
GUEST, unregistred user!
在程序中,界面上端的菜单要实现一些功能,而界面里面右键的弹出菜单也想同样实现这些<br>功能(就是把上面的功能也拿到右键菜单中来,方便用户的使用)。同样的代码,如果在右键<br>菜单中再写一遍似乎没有必要,而且也增加了程序的体积。请问有什么好的办法可以解决这<br>个问题?
 
直接再事件下拉框中选择那个事件,就行了啊
 
麻烦能说得详细点吗?
 
设计一样的mainmenu、popupmenu<br>然后写mainmenu的代码,在popupmenu的每项中调用mainmenu<br>相应的的事件
 
假设N1是MainMenu1中的一个菜单项:<br>procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;<br>&nbsp; Shift: TShiftState; X, Y: Integer);<br>var<br>&nbsp; pt: TPoint;<br>begin<br>&nbsp; if Button = mbRight then<br>&nbsp; begin<br>&nbsp; &nbsp; GetCursorPos(pt);<br>&nbsp; &nbsp; TrackPopupMenu(N1.Handle, TPM_LEFTBUTTON or TPM_LEFTALIGN,<br>&nbsp; &nbsp; &nbsp; pt.X, pt.Y, 0, Handle, nil);<br>&nbsp; end;<br>end;
 
OK,问题搞懂了。
 
最简单的用法是使用actionlist,不仅菜单,toolbutton也可以调用
 
后退
顶部