MFC---鼠标右键弹出菜单

首先 在资源编辑栏中 添加 菜单栏


MFC---鼠标右键弹出菜单_第1张图片

为ListCtrl 控件添加消息相应函数



MFC---鼠标右键弹出菜单_第2张图片







void CPCRemoteDlg::OnRclickListOnline(NMHDR* pNMHDR, LRESULT* pResult) 
{
// TODO: Add your control notification handler code here

CMenu popup;                  //声明一个菜单变量
popup.LoadMenu(IDR_MENU_ONLINE);       //载入菜单资源
CMenu* pM = popup.GetSubMenu(0);  //得到菜单项
CPoint p;
GetCursorPos(&p);                    //得到鼠标指针的位置
int count = pM->GetMenuItemCount();       //得到菜单的个数
if (m_CListOnLine.GetSelectedCount() == 0)  //如果没有选中列表中的条目
{
for (int i = 0; i < count; i++)       //遍历每一个菜单
{
pM->EnableMenuItem(i, MF_BYPOSITION | MF_DISABLED | MF_GRAYED);  //该项变灰
}


}
pM->TrackPopupMenu(TPM_LEFTALIGN, p.x, p.y, this);
*pResult = 0;
}



MFC---鼠标右键弹出菜单_第3张图片

你可能感兴趣的:(MFC)