页签控制器的制作方法

文档序号:6585252阅读:224来源:国知局
专利名称:页签控制器的制作方法
技术领域
本发明涉及页签控制,尤其是涉及在不同的开发语言和开发环境中,CS或BS应用 软件中多文档窗口的切换以及一个窗口内各个页签容器的切换。
背景技术
在应用软件中,页签控件是一个常用控件,无论是Windows的任务条,Excel工作 表的页签,还是最新版的IE窗口 ,页签控件都有着很普遍的应用,给用户的实际操作带来 了很大的直观性、便捷性。 但由于页签占用的空间比较大,常见的页签控件都有一个共同的没有解决的问 题,当窗口增多后,后续的页签即无法很好的展现,也无法方便的切换。常见的处理方式有 三个. —是支持水平拖动,把后续的页签隐藏起来,点击左侧或右侧的按钮的时候,页签 整体左右移动;在这种方式下如果打开的页签比较多,想找到后续的页签就非常困难,尤其 是当需要前后页签反复切换的时候,要不断的前后拖动才能实现,操作非常不方便。
二是用弹出菜单的形式展现隐藏的菜单,这种方式比拖动的方式要方便一些,但 是把页签和弹出菜单两个控件结合起来,需要点击右键或下拉按钮来选择页签,视觉上看 起来也很不直观,很多用户不能清楚的知道这种用法。 三是用折行的形式显示后续页签,这种方式虽然操作很方便,但是窗口多了以后,
屏幕上就会显示太多的页签,占用太多不必要的面积。 通过上述分析发现,目前缺乏一种简单易用的页签控制装置。

发明内容
为解决上述技术问题,本发明提供了一种页签控制器,包括页签定位单元,用于 根据用户的操作确定一个或多个页签的显示位置;页签控制单元,用于根据所述用户的操 作以及所述页签定位单元确定的与所述用户的操作相关的页签的显示位置来确定所述页 签的状态。 在上述技术方案中,进一步包括,所述页签定位单元包括动态数组,用于将对应于 所述一个或多个页签的指针按照在屏幕上显示的上下层次顺序作为数组元素存放在其中, 以及当所述一个或多个页签中的任一页签改变显示位置时,所述动态数组内的元素按所述 任一页签移动后的层次顺序交换位置。
在上述技术方案中,所述页签的状态包括收縮、展开或位于第一显示位置。
在上述技术方案中,所述用户的操作包括选中页签或滑过页签。 在上述技术方案中,所述页签控制单元进一步包括自动布置模块,用于根据所述 动态数组中的所述数组元素、显示区域的大小以及页签的宽度来确定所述显示区域内布置 的每个页签的状态和顺序。
在上述技术方案中,所述页签控制单元还进一步包括页签状态判断模块,用于在
3所述用户的操作为所述滑过页签时,确定所滑过的页签的状态是否为所述收縮的状态,并 在判断结果是所述收縮的状态时,将所述判断结果发送至页签展开模块;以及所述页签展 开模块,用于在接收到来自所述页签状态判断模块的所述判断结果时,将所述所滑过的页
签展开。 在上述技术方案中,所述页签控制单元还进一步包括页签顺序调节模块,用于在 所述用户的操作是所述选中页签时,并且在所述页签定位单元确定所选中的页签不是在第 一显示位置时,将所述选中的页签调节至所述第一显示位置。 在上述技术方案中,进一步包括,当所述第一显示位置是显示区域的最左侧时,所 述页签状态判断模块根据所述所滑过的页签的左侧邻近页签的位置是否覆盖了所述滑过 的页签的位置,如果覆盖则确定所述滑过的页签的状态为所述收縮。 在上述技术方案中,进一步包括,所述页签展开模块通过将所滑过的页签的左侧 的一个或多个页签收縮来实现所滑过的页签的展开。 在上述技术方案中,进一步包括,页签的收縮是通过将其左侧的页签的位置加上 宽度然后减去所述页签的宽度加页签收縮后的宽度。 在上述技术方案中,进一步包括,当所述第一显示位置是显示区域的最左侧时,所 述自动布置模块从所述显示区域的左侧至右侧依次展开所有页签,直到确定已经展开的页 签的总宽度大于所述显示区域的宽度减去可允许页签收縮后的宽度乘以剩余页签的数量, 则将所述剩余页签全部收縮显示。 通过上述技术方案,很好的解决了页签控制和显示问题,首先,在页签的切换过程 中,页签控制器总是按照窗口的前后顺序动态的调整页签的顺序,最上层的窗口的页签在 最左侧显示,随着层次的深入,依次向右排开。其次,当页签太多,不能在同一行显示的时 候,后续的页签自动縮进。最后,当鼠标滑过縮进的页签的时候,縮进的页签会迅速展开。


图1为根据本发明的页签控制器的示意框图; 图2为根据本发明的一个实施例的页签控制器的示意框图; 图3A至3E为根据本发明的一个实施例的效果图。
具体实施例方式
下面将详细参考本发明的优选实施例,根据附图来描述优选实施例的示例。
图1为根据本发明的页签控制器的示意框图,图2为根据本发明的一个实施例的 页签控制器的示意框图。 如图所示,本发明提供了一种页签控制器IOO,包括页签定位单元102,用于根据 用户的操作确定一个或多个页签的显示位置;页签控制单元104,用于根据所述用户的操 作以及所述页签定位单元102确定的与所述用户的操作相关的页签的显示位置来确定所 述页签的状态。 在上述技术方案中,所述页签定位单元102包括动态数组,用于将对应于所述一 个或多个页签的指针按照在屏幕上显示的上下层次顺序作为数组元素存放在其中,以及当 所述一个或多个页签中的任一页签改变显示位置时,所述动态数组内的元素按所述任一页
4签移动后的层次顺序交换位置。
在上述技术方案中,所述页签的状态包括收縮、展开或位于第一显示位置。 在上述技术方案中,所述用户的操作包括选中页签或滑过页签。 如图2所示,所述页签控制单元104还可以进一步包括自动布置模块202,用于
根据所述动态数组中的所述数组元素、显示区域的大小以及页签的宽度来确定所述显示区
域内布置的每个页签的状态和顺序。 所述页签控制单元104还可以进一步包括页签状态判断模块204,用于在所述用 户的操作为所述滑过页签时,确定所滑过的页签的状态是否为所述收縮的状态,并在判断 结果是所述收縮的状态时,将所述判断结果发送至页签展开模块206 ;以及所述页签展开 模块206,用于在接收到来自所述页签状态判断模块204的所述判断结果时,将所述所滑过 的页签展开。 所述页签控制单元104还可以进一步包括页签顺序调节模块208,用于在所述用 户的操作是所述选中页签时,并且在所述页签定位单元102确定所选中的页签不是在第一 显示位置时,将所述选中的页签调节至所述第一显示位置。 在上述技术方案中,进一步包括,当所述第一显示位置是显示区域的最左侧时,所
述页签状态判断模块204根据所述所滑过的页签的左侧邻近页签的位置是否覆盖了所述
滑过的页签的位置,如果覆盖则确定所述滑过的页签的状态为所述收縮。 在上述技术方案中,进一步包括,所述页签展开模块206通过将所滑过的页签的
左侧的一个或多个页签收縮来实现所滑过的页签的展开。 在上述技术方案中,进一步包括,页签的收縮是通过将其左侧的页签的位置加上 宽度然后减去所述页签的宽度加页签收縮后的宽度。 在上述技术方案中,进一步包括,当所述第一显示位置是显示区域的最左侧时,所
述自动布置模块202从所述显示区域的左侧至右侧依次展开所有页签,直到确定已经展开
的页签的总宽度大于所述显示区域的宽度减去可允许显示的最大宽度乘以剩余页签的数
量,则将所述剩余页签全部收縮显示。 下面结合本发明的一个实施例进行具体说明。 —、实现效果 根据该实施例的页签控制器用于动态控制页签的位置和先后顺序,它由一个独立 的页签和一个统一的控制器组合而成。在页签控制器内可以动态创建多个页签,下面以本 控件在多文档窗口的使用为例来说明其控制效果。 1 、当在一个主窗口内,增加一个子窗口时,页签控制器上会自动增加一个页签,如 同在IE 8窗口的新页签中中新打开一个页面一样,所不同的是,页签控制器会动态调整所 有页签的位置,最后打开的一个窗口所对应的页签总是显示在最左侧的。在此,本领域的技 术人员应该理解,如果设计需要,也可以设计为将最后打开的一个窗口所对应的页签总是 显不在最右侧。 2、当点击一个页签的时候,对应的子窗口会显示到前端,这个页签会从后面的位 置中凸显出来,并以动画效果的形式浮动到最左侧,随后,原来这个页签左侧的页签一同右 移,页签位置动态排布后,同样是最前端的窗口对应的页签在最左侧,而原来的活动窗口的 对应页签被排在这个页签的右侧,越往右侧,表示打开的窗口层次越靠后,越不常用。
3、当页签数目不是很多的时候,所有的页签都展开显示,当页签数量随着窗口数 量增多到一行显示不下的时候,后续页签縮进显示,当鼠标滑过这些縮进的页签的时候,页 签会迅速展开。展开的原则是,如果右侧有空余空间向右侧展开,如果没有则收縮左侧的一 个最近的页签,同时展开本页签。点击縮进的页签,页签同样会前移到最左侧,同时对应窗 口前置,页签会重新排布。 4、点击页签右侧的X符号,页签连同窗口 一同关闭,后续页签重新排布。
二、实现原理 1、独立的页签控件由标题控件、背景图片和关闭按钮控件组成; 2、页签控制器由多个页签控件和一个底边框图片组成,当前控件在最左侧显示,
层次最高,底边框图片在第二层显示,其他页签控件按照从左到右的顺序层次递增,这样就
形成了层级收縮效果; 3、当鼠标在页签上滑动的时候,如果滑过的页签被收縮,则要自动计算现在页签 的布局,看看滑过的页签右侧有没有位置,如果有位置,则页签向右移动,页签上的文字就 会展开,如果页签右侧没有位置,则需要把已经展开的最右侧的一个控件收縮起来,以便当 前控件可以有足够的位置展开; 4、当鼠标点击页签控件的时候,抛出事件,让相对应的窗口前置显示,同时把被点 击的页签前置显示,把原来前置的页签后置,随后做动画效果,当前页签左移到最左侧的位 置,原来的页签连同一些中间的页签右移; 5、当点击页签控件的关闭按钮的时候,抛出关闭事件,如果当前窗口允许关闭,则 关闭窗口 ,同时隐藏页签,被隐藏的页签会在下次打开新窗口的时候重新被命名重新启用。
三、技术方案和算法描述 根据该实施例的页签控制器的主体部分是一个组合控件,它组合了多个独立的 页签控件,并处理多个页签之间的顺序和控制关系。页签控件主要有TabName, C即tion, Picture属性来展示自己,有0nClick, OnClose事件来通知外部应用,控制器有Tabs集合 来操作这些页签,具体操作包括增加、删除和移动页签位置。 页签顺序结构页签按照上下层次存放在一个动态数组中,显示的时候按照从左 到右的顺序显示,当页签移动位置的时候,数组内的元素按层次顺序交换位置,这样可以保 证在运算过程中随时可以知道当前控件的上一个或下一个页签的位置和大小。
根据本实施例的页签控制器主要实现以下功能 1、判断页签状态是收縮还是展开判断当前页签的序号的前一个页签的位置是否 覆盖了当前页签,具体判断方法为pre. left+pre. width > cur. left+6,其中6为页签收縮 后可允许显示的固定宽度,单位为像素。在该实施例中设置页签收縮后的可允许显示的固 定宽度为6像素,但是本领域的技术人员应该理解,该宽度可以根据实际的需要进行改变。
2、自动布局计算方法如果页签收縮起来显示,则每个页签占用6个像素,自动布 局的计算方法为,从左到右依次展开页签控件,如果发现展开的页签的总宽度大于容器宽 度减去6乘以剩余页签数目之后的差,则后续页签全部收縮显示。 3、收縮页签的算法本页签的位置等于上一个页签的位置加上一个页签的宽度后 减去本页签的宽度,最后加6个像素。 通过上面结合附图对本发明的实施例的描述,可以清楚地理解,根据本发明的页
6签控制器很好的解决了页签控制和显示问题,首先,在页签的切换过程中,页签控制器总是 按照窗口的前后顺序动态的调整页签的顺序,最上层的窗口的页签在最左侧显示,随着层 次的深入,依次向右排开。其次,当页签太多,不能在同一行显示的时候,后续的页签自动縮 进。最后,当鼠标滑过縮进的页签的时候,縮进的页签会迅速展开。这样可以保障最常用的 页签在左侧显示,并根据使用过的顺序的倒序从左到右的展开显示,而不太常用的页签自 动被挤到右侧以收縮的状态显示。图3A至3E为根据本发明的一个实施例的效果图。以下 使用图3A至3E对上述描述展现如下 如图3A所示,打开的子窗口不多,页签依次显示,最后打开的窗口页签显示在最 如图3B所示,打开了多个子窗口 ,后续页签显示不下,就收縮起来。 如图3C所示,鼠标滑过,页签自动展开。 如图3D所示,页签3被点击后,正在动态移动到左侧。 如图3E所示,页签3移动到最左侧,原来的页签重新布局后。 在上述实例中,页签控制器的应用过程为 在主窗口上拖放页签控制器Stabl。 当执行打开新的子窗口的命令时,执行Stabl. Tabs, add( "frml","第1个子窗
口")的命令实现新页签的加载。 当关闭窗口时,执行Stabl. Tabs, remove (tab)的方法来删除对应的页签。 处理Stabl的OnTabClick事件,当页签点击时,根据页签名称找到对应窗口,把窗
口前置显示。 处理Stabl的OnTabClose事件,根据页签名称找到对应窗口 ,执行窗口卸载关闭 命令。 当子窗口被切换时,执行Stabl. SetCurrentTab (tab)方法,把当前窗口对应的页 签提前。 通过上述过程,使用页签控制器很好的控制了多文档窗口的窗口切换。 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技
术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修
改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种页签控制器,其特征在于,包括页签定位单元,用于根据用户的操作确定一个或多个页签的显示位置;页签控制单元,用于根据所述用户的操作以及所述页签定位单元确定的与所述用户的操作相关的页签的显示位置来确定所述页签的状态。
2. 根据权利要求1所述的页签控制器,其特征在于,所述页签定位单元包括动态数组, 用于将对应于所述一个或多个页签的指针按照在屏幕上显示的上下层次顺序作为数组元 素存放在其中,以及当所述一个或多个页签中的任一页签改变显示位置时,所述动态数组 内的元素按所述任一页签移动后的层次顺序交换位置。
3. 根据权利要求1或2所述的页签控制器,其特征在于,所述页签的状态包括收縮、 展开或位于第一显示位置。
4. 根据权利要求1或2所述的页签控制器,其特征在于,所述用户的操作包括选中页签 或滑过页签。
5. 根据权利要求3或4所述的页签控制器,其特征在于,所述页签控制单元包括 自动布置模块,用于根据所述动态数组中的所述数组元素、显示区域的大小以及页签的宽度来确定所述显示区域内布置的每个页签的状态和顺序。
6. 根据权利要求5所述的页签控制器,其特征在于,所述页签控制单元还包括 页签状态判断模块,用于在所述用户的操作为所述滑过页签时,确定所滑过的页签的状态是否为所述收縮的状态,并在判断结果是所述收縮的状态时,将所述判断结果发送至 页签展开模块;以及所述页签展开模块,用于在接收到来自所述页签状态判断模块的所述判断结果时,将 所述所滑过的页签展开。
7. 根据权利要求5所述的页签控制器,其特征在于,所述页签控制单元还包括 页签顺序调节模块,用于在所述用户的操作是所述选中页签时,并且在所述页签定位单元确定所选中的页签不是在第一显示位置时,将所述选中的页签调节至所述第一显示位 置。
8. 根据权利要求6所述的页签控制器,其特征在于,当所述第一显示位置是显示区域 的最左侧时,所述页签状态判断模块根据所述所滑过的页签的左侧邻近页签的位置是否覆 盖了所述滑过的页签的位置,如果覆盖则确定所述滑过的页签的状态为所述收縮。
9. 根据权利要求8所述的页签控制器,其特征在于,所述页签展开模块通过将所滑过 的页签的左侧的一个或多个页签收縮来实现所滑过的页签的展开。
10. 根据权利要求9所述的页签控制器,其特征在于,页签的收縮是通过将其左侧页签 的位置加上所述左侧页签的宽度后减去所述页签的宽度,最后再加页签收縮后的宽度。
11. 根据权利要求6所述的页签控制器,其特征在于,当所述第一显示位置是显示区域 的最左侧时,所述自动布置模块从所述显示区域的左侧至右侧依次展开所有页签,直到确 定已经展开的页签的总宽度大于所述显示区域的宽度减去页签收縮后的宽度乘以剩余页 签的数量,则将所述剩余页签全部收縮显示。
全文摘要
本发明提供了一种页签控制器,包括页签定位单元,用于根据用户的操作确定一个或多个页签的显示位置;页签控制单元,用于根据所述用户的操作以及所述页签定位单元确定的与所述用户的操作相关的页签的显示位置来确定所述页签的状态。所以,通过使用页签控制器很好的控制了多个软件界面的切换。该控制器可以方便的应用在多文档窗口切换、多个网页页面切换、多选项切换等类似场景。
文档编号G06F3/048GK101719064SQ20091024307
公开日2010年6月2日 申请日期2009年12月25日 优先权日2009年12月25日
发明者孙亮朝 申请人:用友软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1