我在一个界面上画了一些可移动的点,而这些点的移动范围是有一个限度的,我在movemouse()里这样限制了这个范围
代码如下
void COutput1::OnMouseMove(UINT nFlags, CPoint point) 
{
         CRect NewRect;//移动后得到的新矩形
CPoint OffSet;//计算移动的偏移量也就是看移动了多少
         CRgn Move_Region;//设置可移动区域
Move_Region.CreateRectRgnIndirect(CRect(45,57,795,249));
if ((nFlags==MK_LBUTTON)&&(Move_Region.PtInRegion(point)))//限制移动的范围
{
OffSet=point-MousePose; //计算出鼠标移动的偏移量
NewRect=m_ellipsRect[Ellips_Flag]+(OffSet+CPoint(0,0));//得到移动后新的矩形
m_ellipsRect[Ellips_Flag]=NewRect; //更新原来矩形
MousePose=point;//记录当前的点值以计算再移动时的偏移量
}
}发现每当我的移动点移到Move_Region;这个区域的边界上时 移动起来不那么平滑,我该怎么改进一下,怎么限制这个条件呢,让它在边界上移动的时候也那么的平滑!请高手指点  谢谢!