VC++mfc的问题,关于鼠标右键弹出菜单
voidCCh6Demo1View::OnRButtonDown(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandler...
void CCh6Demo1View::OnRButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CMenu menu; //定义菜单
menu.LoadMenu(IDR_POPUPMENU); //载入浮动菜单资源
CMenu* pM=menu.GetSubMenu(0); //菜单的第一项作为浮动菜单
CPoint pt;
GetCursorPos(&pt); //获得鼠标位置
pM->TrackPopupMenu(TPM_LEFTALIGN,pt.x,pt.y,this); //弹出浮动菜单
CView::OnRButtonDown(nFlags, point);
}
如果不新构造cpoint pt ,直接使用形参CPoint point
pM->TrackPopupMenu(TPM_LEFTALIGN,point.x,point.y,this);
结果弹出菜单在鼠标的上方,不是贴近鼠标,这是为什么呢。
难道形参CPoint point不是鼠标当前坐标吗? 展开
{
// TODO: Add your message handler code here and/or call default
CMenu menu; //定义菜单
menu.LoadMenu(IDR_POPUPMENU); //载入浮动菜单资源
CMenu* pM=menu.GetSubMenu(0); //菜单的第一项作为浮动菜单
CPoint pt;
GetCursorPos(&pt); //获得鼠标位置
pM->TrackPopupMenu(TPM_LEFTALIGN,pt.x,pt.y,this); //弹出浮动菜单
CView::OnRButtonDown(nFlags, point);
}
如果不新构造cpoint pt ,直接使用形参CPoint point
pM->TrackPopupMenu(TPM_LEFTALIGN,point.x,point.y,this);
结果弹出菜单在鼠标的上方,不是贴近鼠标,这是为什么呢。
难道形参CPoint point不是鼠标当前坐标吗? 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询