[发明专利]一种WINDOWS系统下实现软件界面滑动特效的方法无效
申请号: | 201210257331.4 | 申请日: | 2012-07-24 |
公开(公告)号: | CN102799441A | 公开(公告)日: | 2012-11-28 |
发明(设计)人: | 颜杰 | 申请(专利权)人: | 厦门市凌拓通信科技有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 厦门市新华专利商标代理有限公司 35203 | 代理人: | 朱凌 |
地址: | 361101 福建*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 windows 系统 实现 软件 界面 滑动 特效 方法 | ||
技术领域
本发明涉及一种windows系统下实现软件界面滑动特效的方法。
背景技术
计算机用户界面是指计算机与其使用者之间的对话接口,是计算机系统的重要组成部分。计算机的发展史不仅是计算机本身处理速度和存储容量飞速提高的历史,而且是计算用户界面不断改进的历史。当今的软件界面丰富多彩,这些界面的最大的特点是提供了更加友好的界面以区别于普通的对话框应用程序。目前在WINDOWS系统中,当窗体滑动的时候,会因为WINDOWS的窗体重绘机制而产生一定的拖影或者闪烁。
发明内容
本发明为了克服上述现有技术的不足而提供一种当主窗体向子窗体切换时不容易出现拖影或闪烁,且视觉效果更为流畅的windows系统下实现软件界面滑动特效的方法。
一种windows系统下实现软件界面滑动特效的方法,具体包括以下步骤:
步骤1、将要实现滑动效果的窗体称为子窗体,将子窗体位于的要滑动出来起始点称为初始位置,设置该子窗体为不可见,将该子窗体的shown变量设为false;
步骤2、开始滑动时先打开定时器,该定时器的周期是子窗体从初始位置移动到目标位置所需要的时间;
步骤3、开始子窗体的滑动特效时,设置子窗体为可见,将该子窗体的shown变量设为true;
步骤4、在上述定时周期内,间隔几十毫秒到几百毫秒执行一次子窗体在主窗体中的位移,该子窗体向左移动x个像素,在改变子窗体位置之前用win32 API锁定整个子窗体;
步骤5、子窗口完成一次位移后立即判断该子窗体的位置是否已经在目标位置,读取子窗体的左边缘相对于主窗体的左边缘的距离值left,判断是否与阈值相符,若相符则表示子窗体已达到目标位置,表示该子窗体已经滑动完毕,跳到步骤8,否则继续步骤6;
步骤6、将阈值减去位移像素值x,以便在步骤5中进行判断;
步骤7、返回步骤4;
步骤8、解锁子窗体,完成滑动特效,定时器停止;
步骤9、对整个子窗体进行一次主动调用API的重绘。
本发明利用API对子窗体进行锁定和解锁,在完成整个子窗体的滑动特效后再手动调用API进行重绘,解决了在WINDOWS系统中,当窗体滑动的时候,因为WINDOWS的窗体重绘机制而产生一定的拖影或者闪烁的问题。
附图说明
图1为本发明的工作原理图;
图2为本发明的工作流程图。
以下结合附图和具体实施例对本发明作进一步详述。
具体实施例
如图1、2所示,本发明一种windows系统下实现软件界面滑动特效的方法,具体包括以下步骤:
步骤1、将要实现滑动效果的窗体称为子窗体,将子窗体位于的要滑动出来起始点称为初始位置,设该子窗体的shown变量为false,表示该子窗体还未正常显示,并设置该子窗体为不可见(invisible);
步骤2、开始滑动时先打开定时器,该定时器的周期是子窗体从初始位置移动到目标位置所需要的时间;
步骤3、开始子窗体的滑动特效时,将子窗体设为可见(visible),且将该子窗体的shown变量设为true;
步骤4、在上述定时周期内,间隔几十毫秒到几百毫秒执行一次子窗体在主窗体中的位移,该子窗体向左移动x个像素(具体值依据情况而定),以肉眼看不出滑动为宜,在改变子窗体位置之前用win32 API锁定整个子窗体,以保证在子窗体在位移过程中不因为windows的重绘机制照成拖影;
步骤5、子窗口完成一次位移后立即判断该子窗体的位置是否已经在目标位置,读取子窗体的左边缘相对于主窗体的左边缘的距离值left,判断是否与阈值相符,若相符则表示子窗体已达到目标位置,表示该子窗体已经滑动完毕,跳到步骤8,否则继续步骤6;
步骤6、将阈值减去位移像素值x,以便在步骤5中进行判断;
步骤7、返回步骤4;
步骤8、解锁子窗体,完成滑动特效,定时器停止;
步骤9、对整个子窗体进行一次主动调用API的重绘,以便再次保证不产生重绘拖影。
以上所述,仅是本发明较佳实施例而已,并非对本发明的技术范围作任何限制,故凡是依据本发明的技术实质对以上实施例所作的任何细微修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门市凌拓通信科技有限公司,未经厦门市凌拓通信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210257331.4/2.html,转载请声明来源钻瓜专利网。