实现右键快捷菜单
2008年10月17日星期五
在Windows操作系统中,我们随处都见的右键快捷菜单是怎么实现的,这里给出一种简单的实现方法,具体实现过程如下:
1、 使用VS 编辑环境定义一个菜单资源(无需过问编写代码,自动生成)
2、 在所需弹出右键菜单的窗口类中编写WM_RBUTTONDOWN的消息处理函数,并在其他添加触发右键菜单的代码
CMenu menu1;
menu1.CreatePopupMenu(); //动态创建弹出式菜单对象
menu1.AppendMenu(MF_STRING,ID_MENU_DELETE," 删除");
CPoint pt;
GetCursorPos(&pt);
menu1.TrackPopupMenu(TPM_RIGHTBUTTON, pt.x, pt.y, this);
menu1.DestroyMenu();
3、 使用消息映射宏ON_COMMAND映射右键菜单的菜单项的消息,并添加消息处理
ON_COMMAND(ID_MENU_DELETE,OnMenu)
其中,OnMenu()实现略
运行效果图如下: