资源大小: 37KB
发布时间: 2011-11-04
文件格式: rar
下载次数: 0
分享到:

下载地址:

下载地址1
(本站为飞网专业下载站,域名:down.cfei.net)

资源简介:

VB实现鼠标手势,根据移动鼠标的方向让程序作出某种反应。我的实现思路:   鼠标移动,如果把这些点都用直线连起来,就会形成一条轨迹线,鼠标手势就和现实生活中的打手势是一样的,   只要分析鼠标的轨迹符合某种规律就完成设定的某些操作。如何去分析一条轨迹线呢,一次鼠标移动的点是非常多的,而且精度也是相差深远,所以我实现的是比较简单的鼠标手势。   我的思路是这样的:鼠标的水平移动方向只有两种情况左和右,垂直方向也只有两种情况上和下,当鼠标的移动   幅度大于10个像素(水平x或垂直y坐标和旧的坐标点相减的绝对值大于或等于10),则捕获这个点,分析和上一次捕获的坐标点的相对位置,如果x坐标的差值小于0则水平方向是向左移动(其他方向一样),由于每次鼠标移动的轨迹都不会很精确,所以我设定的是如果差值小于3个像素点,则认为是0没有移动,我现在分析这两个点,如果水平方向是向左移动,则记录为L,向右则记录为R,如果没有移动则记录为0,垂直方向是一样的,如果向上则记录为U,向下则记录为D,没有移动则记录为0。现在我可以用一个长度为2的字符串记录下这个坐标点的情况了,例如:LU表示水平方向是向左移动,垂直方向是向上移动,0D表示水平方向没有移动,垂直方向向下移动,把这个字符串保存到数组或者集合中。当鼠标释放的时候,已经捕捉了非常多的坐标点,我是比较简单的鼠标手势,精度要求也不高,所以我从这所有坐标点中只取四个点作分析,怎么取这四个点呢?假设变量nPos为坐标点的个数除以四,表示平均的间隔个数,第一个点取第一个,第二个点取第nPos个,第三个取第nPos*2个,第四个点取最后一个。   现在是分析这四个坐标点的时候了,把这四个坐标点连成一个字符串。以下是可能出现的情况:   R0R0R0:R0表示水平方向向右移动,垂直方向没有移动,四个都是R0,表示轨迹向右;   0U0U0U:0U表示水平方向没有移动,垂直方向向上移动,四个都是0U,表示轨迹向上;   R*U*L*D:这个表示向右移动再向上移动,再向左移动,再向下移动,可以认为是逆时针画圈,当然精度不是很高   但是足够用了(如果你要求不是很高)。   至于其他点,可以用同样的思想去分析。


飞网下载站,免费下载共享资料,内容涉及教育资源、专业资料、IT资源、娱乐生活、经济管理、办公文书、游戏资料等。