H *HelloWorld* Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-04 #1 在程序中,界面上端的菜单要实现一些功能,而界面里面右键的弹出菜单也想同样实现这些<br>功能(就是把上面的功能也拿到右键菜单中来,方便用户的使用)。同样的代码,如果在右键<br>菜单中再写一遍似乎没有必要,而且也增加了程序的体积。请问有什么好的办法可以解决这<br>个问题?
在程序中,界面上端的菜单要实现一些功能,而界面里面右键的弹出菜单也想同样实现这些<br>功能(就是把上面的功能也拿到右键菜单中来,方便用户的使用)。同样的代码,如果在右键<br>菜单中再写一遍似乎没有必要,而且也增加了程序的体积。请问有什么好的办法可以解决这<br>个问题?
T taozhiyu Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-04 #4 设计一样的mainmenu、popupmenu<br>然后写mainmenu的代码,在popupmenu的每项中调用mainmenu<br>相应的的事件
Z zw84611 Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-04 #5 假设N1是MainMenu1中的一个菜单项:<br>procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;<br> Shift: TShiftState; X, Y: Integer);<br>var<br> pt: TPoint;<br>begin<br> if Button = mbRight then<br> begin<br> GetCursorPos(pt);<br> TrackPopupMenu(N1.Handle, TPM_LEFTBUTTON or TPM_LEFTALIGN,<br> pt.X, pt.Y, 0, Handle, nil);<br> end;<br>end;
假设N1是MainMenu1中的一个菜单项:<br>procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;<br> Shift: TShiftState; X, Y: Integer);<br>var<br> pt: TPoint;<br>begin<br> if Button = mbRight then<br> begin<br> GetCursorPos(pt);<br> TrackPopupMenu(N1.Handle, TPM_LEFTBUTTON or TPM_LEFTALIGN,<br> pt.X, pt.Y, 0, Handle, nil);<br> end;<br>end;
W wonsfon Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-04 #7 最简单的用法是使用actionlist,不仅菜单,toolbutton也可以调用