//首先, 声明并创建一个弹出式菜单 CMenu menu; menu.CreatePopupMenu(); //注意,这时还没有将Menu显示出来 //增加菜单项 menu.AppendMenu(MF_STRING, IDM_DELETE_ITEM, "删除"); //当然,这里的IDM要define menu.AppendMenu(MF_STRING, IDM_EDIT_ITEM, "编辑"); //确定弹出式菜单的位置 CPoint pos; GetCursorPos(&pos); menu.TrackPopupMenu(TPM_LEFTALIGN,pos.x,pos.y,this); //这里才是显示菜单的地方 //资源回收 HMENU hmenu=menu.Detach(); menu.DestroyMenu(); 然后,重写OnCommand函数: if(LOWORD(wParam)==IDM_DELETE_ITEM) { mb("delete item"); //mb即MessageBox,用的我自己写的那个 } if(LOWORD(wParam)==IDM_EDIT_ITEM) { mb("edit item"); } 仅此而已,当然,要完成更复杂的功能,也要多写点代码.