15,979
社区成员
发帖
与我相关
我的任务
分享
void ...
{
CMenu muPopupMenu;
muPopupMenu.LoadMenu(IDM_LIST_POPUP_MENU);
if (muPopupMenu.GetSafeHmenu())
{
CMenu* pPopupMenu = muPopupMenu.GetSubMenu(0);
if (pPopupMenu != NULL && pPopupMenu->GetSafeHmenu())
{
pPopupMenu->EnableMenuItem(ID_XXX, MF_BYCOMMAND | MF_GRAYED | MF_DISABLED);
}
CPoint ptPoint(GetMessagePos());
//原来的处理办法
//pPopupMenu->TrackPopupMenu(TPM_LEFTBUTTON, ptPoint.x, ptPoint.y, this);
//改造的处理办法
CMFCPopupMenu* pMFCPopupMenu = theApp.GetContextMenuManager()->ShowPopupMenu(pPopupMenu->Detach(), ptPoint.x, ptPoint.y, this, TRUE);
}
muPopupMenu.Detach();
muPopupMenu.DestroyMenu();
}