思路是这样的,先在资源面板里添加一个menu资源,编辑成自己想要的,完成以后在需要右键单击触发的地方添加右键单击事件,代码里写入弹出这个menu CMenu m,*pm; if(!m.LoadMenu(IDR_MENU1)) MessageBox(_T("err"));//IDR_MENU1是相应的资源id pm=m.GetSubMenu(0); //获取子对话框 CPoint pot; GetCursorPos(&pot);//获取鼠标当前位置 pm->TrackPopupMenu(TPM_LEFTALIGN,pot.x,pot.y,this);//在鼠标位置弹出菜单 注意,上面的pm是获取的是第一个主menu项下的子menu,比如设计menu资源的时候主menu从左到右是1,2,3,其中1下面又添加了4,5,6 那么这个程序弹出的menu就是4,5,6 自己建个工程体会一下就知道了