毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 开发语言 >> 正文

MFC鼠标移动值累加如何计算

更新时间:2014-1-24:  来源:毕业论文

比如我按住鼠标左键,向下滑动,会记录一个值,这个值是我向下滑动了多远。
然后我每次做这样的操作,都可以记录这个值


但是现在遇到的问题是

我设置了一个m_offset的成员变量 用来记这个值
在用 一个m_point 记录鼠标左键按下的鼠标位置
如果在鼠标移动事件里用现在的point 减去m_point 得到这个offset

然后累加

那这个offset会一直累加  可能只移动了100的距离 但是因为事件响应了很多次 累加出来的值 就变成1000了
我理解是不是可以这样:
//propeties
int m_pointy;   //鼠标按下事件的Y位置,简称原点
int m_previous; //前一次鼠标移动事件的Y位置
int m_total;    //鼠标的总位移, 当前到原点的位移
int m_offset;   //前一次鼠标事件到当前事件的位移

//messages
onlbottondown( CPoint p )
{
m_pointy = p.y;   //鼠标按下事件的Y位置,简称原点
m_previous = p.y; //前一次鼠标移动事件的Y位置
m_total = 0;    //鼠标的总位移, 当前到原点的位移
m_offset = 0;   //前一次鼠标事件到当前事件的位移
}

onmousemove( CPoint p )
{
m_offset = p.y - m_previous;
m_total = p.y - m_pointy;
m_previous = p.y;
}

不知道这几个属性变量够不够用,想要每次的偏移量,要建一个缓冲区,记录m_offset。

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。