OnContextMenu的问题,我只能给这么多分了,高手快来取分吧!!!kkk
我在视类中重载了OnContextMenu()用以截获鼠标右键的点击事件,可是当消息产生的时候,我的事件hanlder确响应不了这一消息,为什么?我的代码时这样的:
void CMy1View::OnContextMenu(CWnd* pWnd, CPoint point)
{
// TODO: Add your message handler code here
CMenu* pSubMenu=::GetSubCMenu(ID_EDIT_UNDO,this);
CWnd* pWndPopupOwner = this;
while (pWndPopupOwner->GetStyle() & WS_CHILD)
{
AfxMessageBox("this view window has WS_CHILD attribute");
pWndPopupOwner = pWndPopupOwner->GetParent();
}
if (pSubMenu) {
ClientToScreen(&point);
pSubMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_RIGHTBUTTON, point.x, point.y, this);
}
}
其中,GetSubCMenu为一自定义 的全局函数,ID_EDIT_UNDO为菜单id,函数原型为:
CMenu* GetSubCMenu(int nStartId, CView* pThis)