一种滚动条特效的实现方法

文档序号:6369063阅读:197来源:国知局
专利名称:一种滚动条特效的实现方法
技术领域
本发明涉及计算机技术领域,特别涉及一种滚动条特效的实现方法。
背景技术
在ー些常用的软件中,都会有滚动条控件,因此软件的用户界面上会有滚动条。因此滚动条会占用一定的用户界面区域。 图I是现有ー种即时通讯頂客户端的用户界面。如图I所示,頂客户端的用户界面的右侧黑线框内的即为滚动条。滚动条能实现翻页,方便了用户的使用。在图I中对与本发明无关的部分进行了遮挡处理。但是像IM客户端等桌面程序的用户界面一般较小,需要在该较小的区域内显示更多的信息,然而滚动条时刻都会占用一块不小的区域。

发明内容
有鉴于此,本发明提供了一种滚动条特效的实现方法,该方法在不使用时隐藏滚动条,从而解决了滚动条一直占用用户界面的固定区域的问题。为达到上述目的,本发明的技术方案是这样实现的本发明公开了ー种滚动条特效的实现方法,该方法包括当鼠标不在滚动条附着窗ロ时,不显示滚动条;当鼠标滑入滚动条附着窗ロ时,显示滚动条;当鼠标滑出滚动条附着窗ロ时,每隔一段时间将滚动条的透明度值降低一个预设的固定值,直到滚动条的透明度为O。所述当鼠标滑入滚动条附着窗ロ吋,显示滚动条包括当鼠标滑入滚动条附着窗ロ时,根据鼠标在滚动条附着窗ロ中的位置,绘制具有一定透明度值的滚动条;该方法进ー步包括当鼠标在滚动条附着窗ロ中滑动时,实时根据鼠标在滚动条附着窗口中的位置,绘制具有对应透明度值的滚动条。所述根据鼠标在滚动条附着窗口中的位置,绘制具有一定透明度值的滚动条包括鼠标在滚动条附着窗ロ的最左侧时,绘制透明度值为O的滚动条;鼠标在滚动条附着窗ロ的最右侧时,绘制透明度值为255的滚动条;鼠标在滚动条附着窗ロ的最左侧和最右侧之间的某个位置时,所绘制的滚动条的透明度值与255的比值和该位置到最左侧的距离与最左侧到最右侧的距离的比值相等。所述实时根据鼠标在滚动条附着窗口中的位置,绘制具有对应透明度值的滚动条包括每接收到ー个Windows的鼠标滑动消息,根据鼠标在滚动条附着窗ロ中的当前位置,绘制具有对应透明度值的滚动条。每接收到ー个Windows的鼠标滑动消息,在执行所述的根据鼠标在滚动条附着窗ロ中的当前位置,绘制具有对应透明度值的滚动条之前,该方法进ー步包括判断滚动条附着窗ロ中是否有鼠标滚轮事件正在执行,如果没有则执行所述的根据鼠标在滚动条附着窗口中的当前位置,绘制具有对应透明度值的滚动条的步骤,如果有则不执行。当鼠标滑出滚动条附着窗ロ时,在执行所述的每隔一段时间将滚动条的透明度降值低ー个预设的固定值,直到滚动条的透明度值为O之前,该方法进ー步包括判断滚动条附着窗ロ中是否有鼠标滚轮事件正在执行,如果没有则直接执行所述的每隔一段时间将滚动条的透明度降值低ー个预设的固定值,直到滚动条的透明度值为O的步骤,如果有则等待鼠标滚轮事件结束后再执行所述的每隔一段时间将滚动条的透明度值降低一个预设的固定值,直到滚动条的透明度值为O的步骤。、
所述的每隔一段时间将滚动条的透明度值降低一个预设的固定值,直到滚动条的透明度值为O的过程称为滑出特效;当鼠标滑入滚动条附着窗ロ吋,在执行所述的显示滚动条之前,该方法进ー步包括判断是否有滑出特效正在执行,是则停止滑出特效的执行,然后显示滚动条,否则直接显示滚动条。所述每隔一段时间将滚动条的透明度值降低一个预设的固定值,直到滚动条的透明度值为O包括启动ー个周期可设置的循环定时器,每当循环定时器触发时,判断滚动条的透明度值是否为0,是则结束所述循环定时器,否则将滚动条的透明度值减去一个预设的固定值,并按减后的透明度值绘制滚动条。该方法进ー步包括在启动所述循环定时器的同时置滑出特效标志有效,在结束所述循环定时器的同时置滑出特效标志无效;则所述判断是否有滑出特效正在执行具体为检测滑出特效标志是否有效。所述判断滚动条附着窗口中是否有鼠标滚轮事件正在执行包括当周期性地接收到Windows系统的“WM_M0USEWHEEL”消息时,确定有鼠标滚轮事件正在执行;所述鼠标滚轮事件结束为当在预设时间长度内有没有收到Windows系统的“WM_MOUSEffHEEL”消息时,确定鼠标滚轮事件结束;其中所述的预设时间长度大于鼠标滚轮事件发生时Windows系统发送“WM_M0USEWHEEL”消息的周期。由上述可见,本发明这种当鼠标不在滚动条附着窗ロ时,不显示滚动条;当鼠标滑入滚动条附着窗ロ时,显示滚动条;当鼠标滑出滚动条附着窗ロ时,每隔一段时间将滚动条的透明度值降低一个预设的固定值,直到滚动条的透明度值为O的技术方案,能够在不使用时隐藏滚动条,从而解决了滚动条一直占用用户界面的固定区域的问题,并且在隐藏滚动条时实现了渐变效果,提高了用户体验。


图I是现有ー种即时通讯頂客户端的用户界面。图2是本发明中的IM客户端用户界面中的滚动条附着窗ロ的示意图。图3是本发明实施例中的当鼠标从滚动条附着窗ロ滑出时滚动条特效实现方法的流程图;图4是本发明实施例中的当鼠标滑入滚动条附着窗ロ时滚动条特效实现方法的流程图;图5是本发明实施例中的鼠标在滚动条滑动窗口中滑动时滚动条特效的实现方法。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作详细描述。本发明的核心思想是当鼠标不在滚动条附着窗ロ时,不显示滚动条;当鼠标滑入滚动条附着窗ロ时,显示滚动条;当鼠标滑出滚动条附着窗ロ时,每隔一段时间将滚动条的透明度值降低一个预设的固定值,直到滚动条的透明度值为O。 图2是本发明中的IM客户端用户界面中的滚动条附着窗ロ的示意图。如图2所示,滚动条附着窗ロ为用黑线框示意的区域。在图2中对与本发明无关的部分进行了遮挡处理。本发明的这种技术方案,能够在不使用滚动条时隐藏滚动条,从而解决了滚动条一直占用用户界面的固定区域的问题,并且在隐藏滚动条时实现了渐变效果,提高了用户体验。在本发明中所述当鼠标滑入滚动条附着窗ロ吋,显示滚动条为当鼠标滑入滚动条附着窗ロ时,根据鼠标在滚动条附着窗ロ中的位置,绘制具有一定透明度值的滚动条。在本发明的一个实施例中,该方法进ー步包括当鼠标在滚动条附着窗口中滑动时,实时根据鼠标在滚动条附着窗口中的位置,绘制具有对应透明度值的滚动条。即该方法包括A、当鼠标不在滚动条附着窗ロ时,不显示滚动条;B、当鼠标滑入滚动条附着窗ロ时,显示滚动条;C、当鼠标在滚动条附着窗口中滑动时,实时根据鼠标在滚动条附着窗口中的位置,绘制具有对应透明度值的滚动条;D、当鼠标滑出滚动条附着窗ロ时,每隔一段时间将滚动条的透明度值降低ー个预设的固定值,直到滚动条的透明度值为O。其中,当滚动条在滚动条附着窗ロ的最右侧时,根据鼠标在滚动条附着窗口中的位置,绘制具有一定透明度的滚动条具体为鼠标在滚动条附着窗ロ的最左侧时,绘制透明度值为O的滚动条(完全透明);鼠标在滚动条附着窗ロ的最右侧时,绘制透明度值为255的滚动条(不透明);鼠标在滚动条附着窗ロ的最左侧和最右侧之间的某个位置时,所绘制的滚动条的透明度值与255的比值和该位置到最左侧的距离与最左侧到最右侧的距离的比值相等。也就是说在滚动条附着窗口内,鼠标离滚动条越近滚动条的透明度值越高。可见,本发明的技术方案在鼠标在滚动条附着窗口上左右滑动时不断改变滚动条的透明度,产生特效。下面从鼠标滑出、滑入滚动条附着窗ロ以及在滚动条附着窗口中滑动三个方面来对本发明进行更详细的说明。鼠标滑出滚动条附着窗ロ图3是本发明实施例中的当鼠标从滚动条附着窗ロ滑出时滚动条特效实现方法的流程图。如图3所示,包括如下步骤步骤301,检测到鼠标从滚动条附着窗ロ滑出。步骤302,判断滚动条附着窗口中是否有鼠标滚轮事件正在执行,是则执行步骤303,否则执行步骤304。当有滚轮事件执行时,Windows系统会周期性地将滚轮事件“WM_M0USEWHEEL”消息发送给滚动条附着窗ロ,因此本步骤中检测滚动条附着窗ロ是否周期性地接收到“WM_ M0USEWHEEL”消息,当周期性地接收到Windows系统的“WM_M0USEWHEEL”消息时,确定有鼠标滚轮事件正在执行。步骤303,等待标滚轮事件結束,并在滚轮事件结束后执行步骤304。步骤中当捕获到鼠标滚轮事件执行结束后,执行304-308所示的“滑出特效”。本步骤中当在预设时间长度(例如100毫秒)内有没有收到Windows系统的“WM_MOUSEffHEEL"消息时,确定鼠标滚轮事件结束,即捕获到鼠标滚轮事件结束;其中所述的预设时间长度大于鼠标滚轮事件发生时Windows系统发送“WM_M0USEWHEEL”消息的周期。步骤304,启动ー个周期为50毫秒的循环定时器,同时置滑出特效标志有效。本步骤中滑出特效标志为ー个变量。所启动的循环定时器为周期可设置的循环定时器,本实施例中周期设置为50毫秒,50毫秒循环定时器在启动后每隔50毫秒会触发ー次。在本发明的其他实施例中的周期也可以设置为其他值,如30毫秒、40毫秒或60毫秒等
坐寸ο步骤305,等待50毫秒循环定时器触发,在50毫秒循环定时器触发时执行步骤306。步骤306,判断滚动条的透明度值是否为0,是则执行步骤308,否则执行步骤307。步骤307,将滚动条的透明度值减去一个预设的固定值,并按减后的透明度值绘制滚动条,返回步骤305。在本发明的一个实施例中,所述预设的固定值取20,S卩如果滚动条的透明度值为200,则减20后,按透明度值为180重新绘制滚动条。步骤308,结束所述的50毫秒循环定时器,同时置滑出特效标志无效。结束流程。鼠标滑入滚动条附着窗ロ图4是本发明实施例中的当鼠标滑入滚动条附着窗ロ时滚动条特效实现方法的流程图。如图4所示,包括如下步骤步骤401,检测到鼠标滑入滚动条附着窗ロ。步骤402,判断是否有滑出特效正在执行,是则执行步骤403,否则执行步骤404。本步骤中,判断是否有滑出特效正在执行具体为检测滑出特效标志是否有效,有效则有滑出特效正在执行,无效则没有滑出特效在执行。步骤403,停止滑出特效的执行,执行步骤404。本步骤中,结束所述的50毫秒循环定时器,同时置滑出特效标志无效。步骤404,计算鼠标在滚动条附着窗口中的位置,确定该位置对应的透明度值。
例如,鼠标在滚动条附着窗口中的当前位置与滚动条附着窗ロ最左侧的距离为4cm,而滚动条附着窗ロ最左侧与滚动条附着窗ロ最右侧之间的距离为10cm,则当前位置对应的透明度值X的计算方法为x/255 = 4/10,因此X = 102。步骤405 ,按照所确定的透明度值绘制滚动条。鼠标在滚动条附着窗口中滑动当鼠标在滚动条附着窗口中滑动时,实时根据鼠标在滚动条附着窗口中的位置,绘制具有对应透明度值的滚动条具体为每接收到ー个Windows的鼠标滑动消息,根据鼠标在滚动条附着窗口中的当前位置,绘制具有对应透明度值的滚动条。即当鼠标在滑动时Windows会每隔ー个较小的时间发送一次鼠标滑动消息,本发明中利用鼠标滑动消息实现实时跟踪鼠标的滑动。每接收到一次鼠标滑动消息执行一次如图5所示的流程图5是本发明实施例中的鼠标在滚动条滑动窗口中滑动时滚动条特效的实现方法。如图5所示包括如下步骤步骤501,收到鼠标滑动消息。步骤502,判断滚动条附着窗口中是否有鼠标滚轮事件正在执行,是则执行步骤503,否则执行步骤504。当有滚轮事件执行时,Windows系统会周期性地将滚轮事件“WM_M0USEWHEEL”消息发送给滚动条附着窗ロ,因此本步骤中检测滚动条附着窗ロ是否周期性地接收到“WM_M0USEWHEEL”消息,当周期性地接收到Windows系统的“WM_M0USEWHEEL”消息时,确定有鼠标滚轮事件正在执行。步骤503,滑动处理结束。步骤504,计算鼠标在滚动条附着窗口中的位置,确定该位置对应的透明度值。步骤505,按照所确定的透明度值绘制滚动条。由上述可见,本发明这种当鼠标不在滚动条附着窗ロ时,不显示滚动条;当鼠标滑入滚动条附着窗ロ时,显示滚动条;当鼠标滑出滚动条附着窗ロ时,每隔一段时间将滚动条的透明度值降低一个预设的固定值,直到滚动条的透明度值为O的技术方案,能够在不使用时隐藏滚动条,从而解决了滚动条一直占用用户界面的固定区域的问题,并且在显示和隐藏滚动条时实现了渐变效果,提高了用户体验。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
权利要求
1.一种滚动条特效的实现方法,其特征在于,该方法包括 当鼠标不在滚动条附着窗口时,不显示滚动条; 当鼠标滑入滚动条附着窗口时,显示滚动条; 当鼠标滑出滚动条附着窗口时,每隔一段时间将滚动条的透明度值降低一个预设的固定值,直到滚动条的透明度值为O。
2.根据权利要求I所述的方法,其特征在于,所述当鼠标滑入滚动条附着窗口时,显示滚动条包括当鼠标滑入滚动条附着窗口时,根据鼠标在滚动条附着窗口中的位置,绘制具有一定透明度值的滚动条; 权利要求I所述的方法进一步包括当鼠标在滚动条附着窗口中滑动时,实时根据鼠标在滚动条附着窗口中的位置,绘制具有对应透明度值的滚动条。
3.根据权利要求2所述的方法,其特征在于,所述根据鼠标在滚动条附着窗口中的位置,绘制具有一定透明度值的滚动条包括 鼠标在滚动条附着窗口的最左侧时,绘制透明度值为O的滚动条; 鼠标在滚动条附着窗口的最右侧时,绘制透明度值为255的滚动条; 鼠标在滚动条附着窗口的最左侧和最右侧之间的某个位置时,所绘制的滚动条的透明度值与255的比值和该位置到最左侧的距离与最左侧到最右侧的距离的比值相等。
4.根据权利要求要求2所述的方法,其特征在于,所述实时根据鼠标在滚动条附着窗口中的位置,绘制具有对应透明度值的滚动条包括 每接收到一个Windows的鼠标滑动消息,根据鼠标在滚动条附着窗口中的当前位置,绘制具有对应透明度值的滚动条。
5.根据权利要求4所述的方法,其特征在于,每接收到一个Windows的鼠标滑动消息,在执行所述的根据鼠标在滚动条附着窗口中的当前位置,绘制具有对应透明度值的滚动条之前,该方法进一步包括 判断滚动条附着窗口中是否有鼠标滚轮事件正在执行,如果没有则执行所述的根据鼠标在滚动条附着窗口中的当前位置,绘制具有对应透明度值的滚动条的步骤,如果有则不执行。
6.根据权利要求I所述的方法,其特征在于, 当鼠标滑出滚动条附着窗口时,在执行所述的每隔一段时间将滚动条的透明度值降低一个预设的固定值,直到滚动条的透明度值为O之前,该方法进一步包括 判断滚动条附着窗口中是否有鼠标滚轮事件正在执行,如果没有则直接执行所述的每隔一段时间将滚动条的透明度值降低一个预设的固定值,直到滚动条的透明度值为O的步骤,如果有则等待鼠标滚轮事件结束后再执行所述的每隔一段时间将滚动条的透明度值降低一个预设的固定值,直到滚动条的透明度值为O的步骤。
7.根据权利要求I所述的方法,其特征在于,所述的每隔一段时间将滚动条的透明度值降低一个预设的固定值,直到滚动条的透明度值为O的过程称为滑出特效; 当鼠标滑入滚动条附着窗口时,在执行所述的显示滚动条之前,该方法进一步包括判断是否有滑出特效正在执行,是则停止滑出特效的执行,然后显示滚动条,否则直接显示滚动条。
8.根据权利要求7所述的方法,其特征在于,所述每隔一段时间将滚动条的透明度值降低一个预设的固定值,直到滚动条的透明度值为O包括 启动一个周期可设置的循环定时器,每当循环定时器触发时,判断滚动条的透明度值是否为O,是则结束所述循环定时器,否则将滚动条的透明度值减去一个预设的固定值,并按减后的透明度值绘制滚动条。
9.根据权利要求8所述的方法,其特征在于,该方法进一步包括在启动所述循环定时器的同时置滑出特效标志有效,在结束所述循环定时器的同时置滑出特效标志无效; 则所述判断是否有滑出特效正在执行具体为检测滑出特效标志是否有效。
10.根据权利要求6所述的方法,其特征在于, 所述判断滚动条附着窗口中是否有鼠标滚轮事件正在执行包括当周期性地接收到Windows系统的“WM_MOUSEWHEEL”消息时,确定有鼠标滚轮事件正在执行; 所述鼠标滚轮事件结束为当在预设时间长度内有没有收到Windows系统的“WM_MOUSEffHEEL”消息时,确定鼠标滚轮事件结束;其中所述的预设时间长度大于鼠标滚轮事件发生时Windows系统发送“WM_M0USEWHEEL”消息的周期。
全文摘要
本发明公开了一种滚动条特效的实现方法。该方法包括当鼠标不在滚动条附着窗口时,不显示滚动条;当鼠标滑入滚动条附着窗口时,显示滚动条;当鼠标滑出滚动条附着窗口时,每隔一段时间将滚动条的透明度值降低一个预设的固定值,直到滚动条的透明度为0。本发明的技术方案在不使用滚动条时隐藏滚动条,从而解决了滚动条一直占用用户界面的固定区域的问题。
文档编号G06F3/048GK102662602SQ201210135860
公开日2012年9月12日 申请日期2012年5月3日 优先权日2012年5月3日
发明者胡敏东 申请人:北京新媒传信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1