一种控件感应窗体摇动的实现方法

文档序号:6482059阅读:128来源:国知局
专利名称:一种控件感应窗体摇动的实现方法
技术领域
本发明涉及一种软件开发设计中控件的感应技术,具体是指一种控件感应 窗体摇动的实现方法。
背景技术
目前,触摸屏作为一种新型的交互显示设备,其应用范围越来越广泛,大 面积触摸屏设备被大量的应用在电子沙盘和会议讨论中。因此在为触摸屏设备 开发应用软件时,体感元素是软件开发的重要一环,多样化的操作方式让用户 能够更深入感受触摸屏带来的操作效果,为用户带来良好的操作体验。
对于触摸屏设备来说,在软件开发时一般按照普通PC (个人电脑)软件的
开发方式进行开发,之后直接移植运行在触摸屏设备上。如此一来,就会忽略
一个重要的开发因素——普通PC与触摸屏设备在软件操作方式上的差异。因此,
用户在使用该软件时缺乏良好的操作体验,同时也让用户觉得使用触摸屏设备 并没有为软件操作带来更大的方便。
对于开发在触摸屏设备上运行的软件的程序员来说,由于在开发时只使用
普通PC软件的开发平台,开发平台并没有提供专为开发触摸屏设备软件而设的
体感控件,所以开发时难以为软件加入更多的体感操作。

发明内容
本发明的目的在于克服上述现有技术的缺点和不足,提供一种控件感应窗 体摇动的实现方法,其可以让二次开发程序员在开发触摸屏设备专用软件时方 便地加入该体感操作,为用户更好的感受触摸屏带来的良好操作效果。
本发明的目的通过下述技术方案实现本控件感应窗体摇动的实现方法, 包括以下步骤
(1)初始化设置
以当前窗体位置左上角坐标为原点建立一个具有偏角的平面方向坐标系, 并为各个象限编号,建立各个象限与编号之间的映射关系;
窗体上的控件提供参数设定接口让二次开发程序员传入用于设定判断窗体摇动操作的敏感度的有关参数;
(2) 记录位置信息 控件的消息处理模块接收窗体移动的消息,根据窗体移动后所处位置的左
上角坐标,控件的位置计算模块计算出窗体移动后所处的象限,记录象限所对 应的编号;位置计算模块以移动后的窗体位置的左上角坐标为原点,重新建立 具有偏角的平面方向坐标系;
(3) 判断摇动操作-
重复步骤(2),当用户左右或上下摇动窗体时,每次移动后记录的象限编 号会形成一组序列,控件的序列分析模块通过分析序列的特征,判断用户是否 在摇动窗体以及摇动窗体的方向;若判断出用户正在进行摇动窗体的操作,则 控件的消息处理模块把摇动窗体的方向作为参数,发送摇动操作的消息到窗体, 二次开发程序员将响应该消息,调用宿主程序的相关功能;若判断出用户没有 进行窗体摇动操作,则复位控件。
为更好的实现本发明,所述具有偏角的平面方向坐标系是指具有45度偏角 的平面方向坐标系。
所述步骤(1)用于设定判断窗体摇动操作的敏感度的有关参数包括窗体摇 动幅度、摇动次数下限和单位时间。
所述步骤(2)记录位置信息还通过移动距离计数器和摇动时间计时器实现

所述移动距离计数器用于累加移动距离,每当窗体移动距离达到预先设定 的窗体摇动幅度时,移动距离计数器将会调用位置计算模块,位置计算模块会 根据前一次记录下的窗体位置的左上角坐标与当前窗体位置的左上角坐标计算 出窗体向哪个象限移动,并记录该象限编号,计算完毕后,移动距离计数器复 位,位置计算模块记录下当前窗体位置的左上角坐标并将其作为坐标原点,等 待接收下一次窗体移动消息;
所述摇动时间计时器用于计算时间,当达到预先设定的单位时间时,摇动 时间计时器将会调用序列分析模块对记录下的象限编号序列进行分析。
所述步骤(3)控件的序列分析模块通过分析序列的特征,判断用户是否在 摇动窗体以及摇动窗体的方向,具体是指
序列分析模块把相邻重复的序列项删除,之后扫描序列判断是否反复不间 断出现代表左右方向象限的编号或代表上下方向象限的编号组成的序列,若出 现次数少于设定的摇动次数下限,则认为用户没有进行窗体摇动操作,则复位控件;若出现次数等于或超过设定的摇动次数下限,则认为用户在进行窗体摇 动操作;认为用户在进行窗体摇动操作时,若序列仅由表示左右方向象限的编 号组成,则判断用户正在进行左右方向的摇动,若序列仅由表示上下方向象限 的编号组成,则判断用户正在进行上下方向的摇动。 与现有技术相比,本发明具有以下有益效果
本发明通过给窗体所在位置建立坐标系来确定窗体摇动的方向,可以方便 地为二次开发程序员在开发触摸屏设备专用软件时加入该体感操作,从而提供 更好的用户体验以及更便捷的操作方式。


图1是本发明实施例的具有45度偏角的平面方向坐标系示意图; 图2是本发明一种控件感应窗体摇动的实现方法的流程示意图。
具体实施例方式
下面结合实施例及附图,对本发明作进一步地详细说明,但本发明的实施 方式不限于此。
本实施例的控件由3大模块组成,分别为消息处理模块、位置计算模块、 序列分析模块;其中消息处理模块用于检查初始化设置和与窗体进行通信;位 置计算模块用于记录窗体的坐标信息、计算窗体的移动方向和记录窗体移动后 所处的象限编号;序列分析模块用于分析序列的特征,判断用户是否在摇动窗 体以及摇动窗体的方向。
本实施例还通过移动距离计数器和摇动时间计时器实现的。
本实施例的具体过程如下
如图1所示,以当前窗体位置左上角坐标为原点建立一个具有45度偏角的 平面方向坐标系,并为各个象限编号,其中左右上下方向的编号依次为1、 3、 2、 4,建立各个象限与编号之间的映射关系;
如图2所示,首先,消息处理模块初始化时会检查二次开发程序员是否已 经调用控件所提供的参数设定接口设置完成判断窗体摇动操作的敏感度的相关 参数,参数包括窗体摇动幅度(单位为像素)、摇动次数下限(单位为次数)、 单位时间(单位为毫秒)。根据这3个参数,敏感度可定义为单位时间内用户摇 动窗体移动距离达到窗体摇动幅度的次数与摇动次数下限之差,若该差值大于 等于0且象限编号形成的序列满足规律,可认为用户正在对窗体进行摇动操作。若相关参数未设定,则发出设置失败消息通知窗体。
当用户移动窗体时,控件的消息处理模块将会接收到窗体移动消息。在消 息处理模块初次接收到窗体移动消息时,位置计算模块会记录下当前窗体位置 的左上角坐标并将其作为坐标原点,启动摇动时间计时器以及移动距离计数器。
之后,当控件的消息处理模块再次接收到窗体移动消息时,移动距离计数 器会累加移动距离。每当移动距离达到设定的窗体摇动幅度时,移动距离计数 器将会调用位置计算模块。位置计算模块会根据前一次记录下的窗体位置的左 上角坐标与当前窗体位置的左上角坐标计算出窗体向哪个象限移动,并记录该 象限编号。计算完毕后,移动距离计数器复位,位置计算模块记录下当前窗体 位置的左上角坐标并将其作为坐标原点,等待接收下一次窗体移动消息。
当摇动时间计时器达到设定的单位时间时,将调用序列分析模块对记录下 的象限编号序列进行分析。。
对象限编号序列进行分析的过程具体如下首先把相邻重复的序列项删除,
之后扫描序列判断是否反复不间断出现只由编号1和3 (131313…。,0或只由编 号2和4 (242424…" )组成的序列,若出现次数少于设定的摇动次数下限(即 差值小于0),则认为用户没有进行窗体摇动操作,则复位控件;若出现次数等 于或超过设定的摇动次数下限(即差值大于等于0),则认为用户正在进行窗体 摇动操作。当认为用户在进行窗体摇动操作时,若序列仅由编号1和3组成, 则判断用户正在进行左右方向的摇动,若序列仅由编号2和4组成,则判断用 户正在进行上下方向的摇动。
一旦认为用户正在进行窗体摇动操作,则消息处理模块会以摇动方向作参 数发出摇动操作的消息通知窗体。窗体收到消息后就会根据二次开发程序员的 需要调用指定程序功能。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受所述实 施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、 替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
权利要求
1、一种控件感应窗体摇动的实现方法,其特征在于,包括以下步骤(1)初始化设置以当前窗体位置左上角坐标为原点建立一个具有偏角的平面方向坐标系,并为各个象限编号,建立各个象限与编号之间的映射关系;窗体上的控件提供参数设定接口让二次开发程序员传入用于设定判断窗体摇动操作的敏感度的有关参数;(2)记录位置信息控件的消息处理模块接收窗体移动的消息,根据窗体移动后所处位置的左上角坐标,控件的位置计算模块计算出窗体移动后所处的象限,记录象限所对应的编号;位置计算模块以移动后的窗体位置的左上角坐标为原点,重新建立具有偏角的平面方向坐标系;(3)判断摇动操作重复步骤(2),当用户左右或上下摇动窗体时,每次移动后记录的象限编号会形成一组序列,控件的序列分析模块通过分析序列的特征,判断用户是否在摇动窗体以及摇动窗体的方向;若判断出用户正在进行摇动窗体的操作,则控件的消息处理模块把摇动窗体的方向作为参数,发送摇动操作的消息到窗体,二次开发程序员将响应该消息,调用宿主程序的相关功能;若判断出用户没有进行窗体摇动操作,则复位控件。
2、 根据权利要求1所述一种控件感应窗体摇动的实现方法,其特征在于 所述具有偏角的平面方向坐标系是指具有45度偏角的平面方向坐标系。
3、 根据权利要求1或2所述一种控件感应窗体摇动的实现方法,其特征在 于所述步骤(1)用于设定判断窗体摇动操作的敏感度的有关参数包括窗体摇 动幅度、摇动次数下限和单位时间。
4、 根据权利要求3所述的一种控件感应窗体摇动的实现方法,所述步骤(2) 记录位置信息还通过移动距离计数器和摇动时间计时器实现的所述移动距离计数器用于累加移动距离,每当窗体移动距离达到预先设定 的窗体摇动幅度时,移动距离计数器将会调用位置计算模块,位置计算模块会 根据前一次记录下的窗体位置的左上角坐标与当前窗体位置的左上角坐标计算 出窗体向哪个象限移动,并记录该象限编号,计算完毕后,移动距离计数器复 位,位置计算模块记录下当前窗体位置的左上角坐标并将其作为坐标原点,等待接收下一次窗体移动消息;所述摇动时间计时器用于计算时间,当达到预先设定的单位时间时,摇动 时间计时器将会调用序列分析模块对记录下的象限编号序列进行分析。
5、根据权利要求3所述一种控件感应窗体摇动的实现方法,所述步骤(3) 控件的序列分析模块通过分析序列的特征,判断用户是否在摇动窗体以及摇动 窗体的方向,具体是指序列分析模块把相邻重复的序列项删除,之后扫描序列判断是否反复不间 断出现代表左右方向象限的编号或代表上下方向象限的编号组成的序列,若出 现次数少于设定的摇动次数下限,则认为用户没有进行窗体摇动操作,则复位 控件;若出现次数等于或超过设定的摇动次数下限,则认为用户在进行窗体摇 动操作;认为用户在进行窗体摇动操作时,若序列仅由表示左右方向象限的编 号组成,则判断用户正在进行左右方向的摇动,若序列仅由表示上下方向象限 的编号组成,则判断用户正在进行上下方向的摇动。
全文摘要
本发明公开了一种控件感应窗体摇动的实现方法,包括以下步骤(1)以当前窗体位置左上角坐标为原点建立一个具有偏角的平面方向坐标系,并为各个象限编号、设定有关参数;(2)控件的消息处理模块接收窗体移动的消息,位置计算模块计算出窗体移动后所处的象限,记录对应的编号;位置计算模块以移动后的窗体位置的左上角坐标为原点,重新建立坐标系;(3)重复步骤(2),当用户摇动窗体时,每次移动后记录的象限编号形成一组序列,通过分析序列的特征,判断用户是否在摇动窗体;若判断出用户正在摇动窗体,则发送摇动操作的消息到窗体。本发明方便地为二次开发程序员在开发时加入体感操作,从而提供更好的用户体验以及更便捷的操作方式。
文档编号G06F9/44GK101576821SQ200910039850
公开日2009年11月11日 申请日期2009年5月27日 优先权日2009年5月27日
发明者司徒健聪 申请人:广东威创视讯科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1