CMenu menu
VERIFY( menu.LoadMenu( IDR_MENU_XXXXXX ) )
CMenu* popup = menu.GetSubMenu(0)
ASSERT( popup != NULL )
popup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this )
这时候右键菜单就能d出来啦。。。你再单独写响应每个选项ID的鼠标左键消息不就行了吗
响应某个菜单项的消息
ON_COMMAND(ID_XXX, &CDlgXXX::OnXXX);//ID_XXX是某个菜单项的ID
if ((nFlags&MK_CONTROL)&&(nFlags&MK_SHIFT))//这表示按ctrl+shift键消息CClinent DCdc(this)//这个我不想解释,就像你问1+1为什么等于2一样,你看看书
dc(this)的形式,是为了传递一个句柄给dc,this也就是当前窗口类的指针,没什么好说的
CView::OnMouseMove(nFlags, point) //point是窗口中某个点的坐标,意思就是鼠标移动到窗口某个点进行什么鼠标 *** 作,如右键单击,左键单击,双击
if ((nFlags&MK_LBUTTON)&&(nFlags&MK_LBUTTON)) //这就是表示左键双击这个事件
采用可视化界面添加的BUTTON按钮的话,一般来说双击该控件就可以添加时间响应函数,如果双击不管用,还可以右键该控件选择 add event handler就会进入添加响应函数的编辑框,选择响应的消息响应函数。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)