一:添加右键菜单(在选中的行上面添加右键响应菜单)
1.首先创建一个菜单资源,在该项目上右键,添加资源,菜单资源,新建一个菜单资源(不会显示顶级菜单,只显示次级菜单)。
2.在自己新添加的类CMyListCtrl(该类继承自CListCtrl,并且该类类型的对象与ListCtrl资源进行了绑定),并在该类的消息中添加=NM_RCLICK消息,在它的消息处理函数中,
添加右键弹出菜单代码:
CMenu menu; menu.LoadMenuW(IDR_MENU1); //加载菜单资源 CMenu* pPopup = menu.GetSubMenu(0); 获得次级菜单 CPoint myPoint; GetCursorPos(&myPoint); //获取鼠标坐标 //弹出菜单 pPopup->TrackPopupMenu(TPM_LEFTALIGN, myPoint.x, myPoint.y,this);
二:创建右键菜单的响应事件
1.在我们新建的类CMyListCtrl中,给菜单ID添加UPDATE_COMMAND_UI消息,之后在该消息的处理函数里面添加代码。
void CMyListCtrl::OnUpdate32772(CCmdUI *pCmdUI)//消息处理程序 { // TODO: 在此添加命令更新用户界面处理程序代码 //INum = GetSelectionMark(); CDlgModule MyDlgM; MyDlgM.DoModal(); }