+ -
当前位置:首页 → 问答吧 → 圆点在一个矩形区域内移动的问题

圆点在一个矩形区域内移动的问题

时间:2011-12-04

来源:互联网

我做了一个点在,让它在一定范围内移动,移动的时候没问题 但是当点移动到这个范围的边界上时,移动起来就不太平滑。这个肯定是约束条件有问题,我试了好多 都不太好使,请高数指点一下
代码如下:[code=C/C++][/code]
void COutput2::OnMouseMove(UINT nFlags, CPoint point) 
{
// TODO: Add your message handler code here and/or call default

CRect NewRect;//移动后得到的新矩形
CPoint OffSet;//计算移动的偏移量也就是看移动了多少
  CRgn Move_Region;//设置可移动区域
  Move_Region.CreateRectRgnIndirect(CRect(45,57,795,249));

if ((nFlags==MK_LBUTTON)&&(MouseDown_Flag==TRUE)&&(Move_Region.PtInRegion(point)))
{
OffSet=point-MousePose;//计算出鼠标移动的偏移量
NewRect=m_ellipsRect[Ellips_Flag]+(OffSet+CPoint(0,0));//得到移动后新的矩形
m_ellipsRect[Ellips_Flag]=NewRect; //更新原来矩形
MousePose=point; //记录当前的点值以计算再移动时的偏移量
InvalidateRect(CRect(30,4,820,296)); //刷新示波器显示部分
}

CDialog::OnMouseMove(nFlags, point);
}

作者: ganggangban   发布时间: 2011-12-04

谢楼主通知,但是俺没看太懂题意。

作者: jennyvenus   发布时间: 2011-12-04

热门下载

更多