添加弹出菜单,并动态设置菜单项变灰

CMenu menu ,* pSubMenu; //定义下面要用到的cmenu对象
menu.LoadMenu(IDR_MENU1); //装载自定义的右键菜单
//获取第一个弹出菜单,所以第一个菜单必须有子菜单
pSubMenu = menu.GetSubMenu(0);

pSubMenu->EnableMenuItem(ID_Menu_update,MF_DISABLED|MF_GRAYED);
pSubMenu->EnableMenuItem(ID_Menu_delete,MF_DISABLED|MF_GRAYED);

CPoint oPoint; //定义一个用于确定光标位置的位置
GetCursorPos( &oPoint); //获取当前光标的位置,以便使得菜单可以跟随光标
pSubMenu->TrackPopupMenu (TPM_LEFTALIGN, oPoint.x, oPoint.y, this);

原文地址:https://www.cnblogs.com/lishennan/p/4565618.html