DWORD position = GetMessagePos();
CPoint cPoint(GET_X_LPARAM(position), GET_Y_LPARAM(position));
CMenu cMenu;
cMenu.LoadMenu(IDR_MENU1);
CMenu *first_menu = cMenu.GetSubMenu(0);
first_menu->TrackPopupMenu(TPM_RIGHTBUTTON|TPM_LEFTALIGN,cPoint.x, cPoint.y, this);
cMenu.DestroyMenu();
上面的代码,第一行表示获取MFC消息循环的事件的鼠标的位置,然后下一行是转换为CPoint类型,然后最后的TrackPopupMenu表示弹出那个Cmenu,
然后如果要对Cmenu弹出的界面中加事件,需要在MFC的那个map表中添加。