开始在网上找了几个,都是一样的,就是在RButtonDown()里实现右键弹出菜单,没有反应,可能也是我当时还不了解自己对subMenu的误解,右键点了几次之后,就自动退出了(知道了的话,再回来更新),后来找到了一个不一样的代码,就是在类向导中绑定WM_CONTEXTMENU处理函数,在函数中写了如下代码:
void CWangLiuLin190304View::OnContextMenu(CWnd* pWnd, CPoint point) { // TODO: Add your message handler code here { CRect rect;//定义矩形区域 CMenu menu; VERIFY(menu.LoadMenu(IDR_MENU2)); CMenu* pPopup=menu.GetSubMenu(0); ASSERT(pPopup!=NULL); pPopup->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON,point.x,point.y,this); } }
我以为这样就可以了,谁知道运行的时候点击右键,没弹出菜单,弹出个对话框,说我某行有个错误,点击工具栏编辑->转到->输入看到的行数,一定位,发现是这行代码有错误ASSERT(pPopup!=NULL); ,就是说,并没有获得我的标号为0的子菜单,想了想,感觉,可能是我不知道什么是子菜单,
关于SubMenu右键弹出菜单问题
最新推荐文章于 2022-11-24 16:20:22 发布