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表中添加。