菜单实现方法、菜单实现装置及显示装置的制作方法

文档序号:6438748阅读:140来源:国知局
专利名称:菜单实现方法、菜单实现装置及显示装置的制作方法
技术领域
本发明涉及一种菜单显示方法、菜单显示实现方法及菜单显示装置。
背景技术
目前的电子装置中大量使用操作菜单,因此操作菜单的便捷性成为影响用户体验的重要因素。现有技术的操作菜单如附图1所示,多个主菜单项排成一行,当鼠标选中某个菜单项时,可以弹出下拉子菜单及相应子菜单项。但是,这种菜单显示方式展现效果一般,比较呆板,效果单一,用户体验较差。

发明内容
本发明提出一种新型的菜单实现方法和装置以及显示装置,以解决上述显示方式呆板、用户体验差的技术问题。本发明提供一种菜单实现方法,包括以下步骤创建菜单控件模板,确定所述菜单控件模板的显示框架;在所述菜单控件模板中设置菜单显示策略;根据所述菜单控件模板生成菜单控件;其中,所述菜单显示策略为当鼠标进入菜单项区域、在菜单项区域移动和移出菜单项区域时,实时调整每个菜单项的位置、宽度和高度。本发明还提供一种菜单实现装置,包括菜单控件模板创建部件,用于创建菜单控件模板,确定所述菜单控件模板的显示框架;菜单显示策略设置部件,用于在所述菜单控件模板中设置菜单显示策略;菜单控件生成部件,用于根据所述菜单控件模板生成菜单控件; 其中,所述菜单显示策略为当鼠标进入菜单项区域、在菜单项区域移动和移出菜单项区域时,实时调整每个菜单项的位置、宽度和高度。本发明还提供一种应用上述菜单实现方法的显示装置。采用本发明的技术方案,不但可以使得菜单的显示生动活泼,而且使得子菜单的显示保持一致,不会时大时小,而且,通过采用独立窗体,菜单的刷新不会影响背景的刷新, 从而可以添加其他的特效,例如阴影效果、菜单淡入淡出效果等。


图1是现有技术的菜单示意图;图2是本发明菜单实现方法的示意图;图3是本发明所显示的菜单在鼠标未进入时的示意图;图4是本发明所显示的菜单在鼠标进入时的示意图;图5是本发明所显示的菜单在鼠标移动时的示意图;图6是本发明所显示的菜单在子菜单弹出时的示意图;图7是本发明菜单实现装置的结构示意图。
具体实施例方式为了使得软件菜单的显示生动活泼,本发明采用一种鱼眼效果的方式来显示菜单。所谓鱼眼效果是指,随着鼠标在一行或一列菜单项上移动,菜单项会随着鼠标的位置调整高度和宽度,其中,鼠标所在位置的那个菜单项的高度和宽度最大。本发明的菜单显示方法包括显示包括一行或一列菜单项的菜单;其中,当选定任一菜单项时,该菜单项被放大。本发明的菜单实现方法使用模板定制技术,首先使用菜单控件模板定制出其基本控件框架;然后定制菜单项容器模板,在容器模板中添加鱼眼效果,使得鱼眼效果能够作用于菜单的每一项,并且将其子菜单单独定制,以避免鱼眼效果也作用于子菜单,使得菜单整体显得不够正规;最后将控件放入单一窗体中,使其刷新方式不影响背景的刷新,而且能够兼顾阴影、淡入淡出等效果,其流程如图2所示,在步骤S201中,创建菜单控件模板,确定所述菜单控件模板的显示框架;接下来,在步骤S202中,在所述菜单控件模板中设置菜单显示策略;随后,在步骤S203中,根据所述菜单控件模板生成菜单控件;其中,所述菜单显示策略为当鼠标进入菜单项区域、在菜单项区域移动和移出菜单项区域时,实时调整每个菜单项的位置、宽度和高度,具体说明如下。首先,如步骤S201所示,创建菜单控件模板,确定所述菜单控件模板的显示框架。首先,采用微软WPF中的菜单控件,对其展现层进行模板级定制,包括对其布局、 背景、菜单项展现方式进行定义。关于布局,可根据需要采用横向布局或纵向布局的方式来对菜单项的排列进行设计。关于背景,一般采用透明背景的方式,以使鱼眼效果更加突出。 根据需要,也可以采用带有颜色的背景。接下来,如步骤S202所示,在所述菜单控件模板中设置菜单显示策略。关于菜单项展现方式,可以基于WPF(Windows Presentation Foundation)模板定制方式,按照美工的设计对菜单项进行设定,设定内容包括菜单项背景色调、渐变方式、展现形式(直角矩形还是圆角矩形、方形还是圆形)、投影效果及其切换效果等。首先继承一个WPF中的MackPanel类,作为菜单项的容器模板,其次在其MeasureOverride函数中初始化每个菜单项的位置、宽度和高度,随后初始化鼠标动作MouseMove、MouseEnter和MouseLeave。在鼠标置于菜单项容器之上时,通过调用hvalidateArrange函数来对容器中的元素重新进行排列来使得菜单项动作。 InvalidateArrange函数的主要功能是触发重载的ArrangeOverride函数,当鼠标进入菜单项区域、在菜单项区域移动和移出菜单项区域时,实时调整每个菜单项的位置、宽度和高度。在鼠标进入菜单控件时,先获取其相邻的菜单项,之后对按照鼠标所在的菜单项的位置的X值及预先设置好的放大比例进行计算得到一个权值,作为放大的比例(预设的比例值可调整),放大比例以控件宽度的中值为界,中值位置左边,随鼠标的进入逐步放大, 当鼠标位置越过中值后,菜单项控件逐步缩小。然后根据容器控件的整体宽度,计算出与鼠标所在控件左侧菜单项和右侧菜单项的缩放比例,之后计算出其他菜单项的缩放比例。为体现出鱼眼效果,除鼠标所在菜单项比例直接设定外,其左右侧的菜单项控件均比鼠标所在菜单项缩放比例小一个阈值(通常为X值和其菜单项宽度之比,具体计算方式请参见下文中的公式),但比其他菜单项大。其他的不参与放大的菜单项,其宽高程度按比例缩小,以
5使得菜单的整体宽度不变。鱼眼效果的缩放比例的公式为预设比例Mag,初值为预设值;放大权值Ratio,初值为0 ;菜单项数量=Coimt ; 鼠标相对菜单项位置X,y ;控件宽度=ControlWidth ;比例增大值Extra,初值为O。放大权值Ratio = x/Controlffidth控件比例增大值Extra+ = (Mag-I)鼠标所在控件缩放比例Scale = (Mag X Count)/(Count+Extra)鼠标左侧控件缩放比例ScaleL = Count X (1+((Mag-I)X (I-Ratio)))/(Count+Extra)鼠标右侧控件缩放比例ScaleR = Count X (1+((Mag-I)X Ratio))/(Count+Extra)不参与鱼眼效果控件的缩放比例ScaleO = Count/(Count+Extra)在调整完菜单项比例之后,调整不同的菜单项的比例。之后,将比例值封装到一个比例变换矩阵(仿射变换矩阵)中,矩阵为一个3X3矩阵,将其(1,1)和(2,2)元素置为缩放比例,其他值不变,以此达到缩放菜单项的目的。最后执行动画,实现鱼眼显示效果。图3 至5为使用了鱼眼效果的显示菜单,其中,图3为鼠标未进入菜单项控件的效果,图4为鼠标进入菜单项控件的效果,图5为鼠标在菜单项控件之间移动的效果。由于菜单项控件是一个复合控件,其包含自身的子控件,即菜单项控件自身内部还可以包含其他的菜单项控件。而且,菜单项的构造中含有能够下拉的子菜单容器。由于鱼眼效果调整每个菜单项控件的缩放比例,这样就使得鱼眼效果对菜单项控件进行缩放的同时,也对每个菜单项所带的子菜单项进行了缩放,由此所带来的问题是,鼠标点击时,其所在菜单项的位置不确定,显示比例也就不确定,如果不加控制,会出现子菜单弹出时,缩放效果也发生作用,这样子菜单的显示效果会根据当时鼠标所处位置的显示比例进行缩放。 由于不同鼠标所处不同位置的显示比例不确定,会出现子菜单列表时大时小的问题。为了解决此问题,将所述菜单控件模板的子菜单与一个单独的弹出式菜单关联, 并修改所述菜单控件的点击响应事件为显示弹出式菜单。根据每个菜单项,首先单独定制出其子菜单项为一个Popup菜单(弹出菜单)控件,而不是将其子菜单项放入上一级菜单项中。这就是说,在定制容器模板时,将其子菜单单独定制,而不是将子菜单和其菜单项绑定,这样,就可以单独控制子菜单的消息响应,而不与其所对应的菜单项一起进行动作控制。然后分别定制子菜单和其所对应的菜单项的鼠标动作。在鼠标点击菜单项时,触发一个鼠标点击动作,此动作首先检查鼠标所处位置,然后判断出需要显示的子菜单,并且判断是否有其他子菜单正在显示,有已经显示的其他子菜单时,将其关闭,然后激活菜单项所对应的子菜单,展现定制的弹出子菜单。在子菜单初始化时,可以为其PopupAnimation 属性进行赋值,从而为子菜单弹出过程添加动画。这样由于菜单项中不含有子菜单,从而不
6会触发菜单项中的子菜单。如图6所示,在子菜单弹出后,可以将鼠标焦点放到子菜单上,这样会取消菜单项的鱼眼效果,使得菜单在整体效果上显得比较规整。通过以上方式的处理,子菜单就不会出现时大时小的情况,而且在菜单的整体效果上显得比较端庄、典雅。随后,如步骤S203所示,根据所述菜单控件模板生成菜单控件。最后将此控件放入一个独立的窗体中,以免影响软件背景的刷新,尤其是在控件背景和软件背景不一致的情况下,可以避免软件背景刷新和控件背景刷新相互干扰的情况。图7示出了本发明一实施例的菜单实现装置的示意图。如图7所示,该菜单实现装置包括菜单控件模板创建部件701、菜单显示策略设置部件702及菜单控件生成部件703, 其中,菜单控件模板创建部件701用于创建菜单控件模板,确定所述菜单控件模板的显示框架,菜单显示策略设置部件702用于在所述菜单控件模板中设置所述菜单显示策略;菜单控件生成部件703用于根据所述菜单控件模板生成菜单控件。另外,本发明的菜单实现装置还包括关联部件及菜单控件放置部件,所述关联部件用于将所述菜单控件模板的子菜单与一个单独的弹出式菜单关联,并修改所述菜单控件的点击响应事件为显示弹出式菜单,所述菜单控件放置部件用于在所述菜单控件生成部件根据所述菜单控件模板生成所述菜单控件之后,将所述菜单控件放入一个单独的窗体中, 以适应不同的背景界面的刷新模式。本发明的菜单显示方法及装置不限于windows操作系统,也可应用于Android UKDirect UI以及QT解决方案中的UI技术,并且能够在单一窗体或平板计算机上呈现具有鱼眼效果的菜单。本发明的菜单显示效果也不限于鱼眼效果,还可采用本发明的方法将其他利于用户操作的显示效果应用于菜单显示中。本发明将鱼眼效果结合到菜单技术上,在保留其原有基本展现形式的条件下,当鼠标在菜单上时,使得菜单能够随着鼠标的移动改变其大小和位置,解决了桌面软件菜单过于呆板,用户体验较差的问题,增加了菜单的表现效果,提高了菜单的绚丽程度,增强了软件的用户体验。本发明采用独立窗体使得菜单的刷新不影响背景的刷新,以使其能够添加其他的特效,例如阴影效果,菜单淡入淡出效果等。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁盘、光盘、只读存储器或随机存储存储器等。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
权利要求
1.一种菜单实现方法,其特征在于,包括以下步骤 创建菜单控件模板,确定所述菜单控件模板的显示框架; 在所述菜单控件模板中设置菜单显示策略;根据所述菜单控件模板生成菜单控件;其中,所述菜单显示策略为当鼠标进入菜单项区域、在菜单项区域移动和移出菜单项区域时,实时调整每个菜单项的位置、宽度和高度。
2.根据权利要求1所述的菜单实现方法,其特征在于,还包括将所述菜单控件模板的子菜单与一个单独的弹出式菜单关联,并修改所述菜单控件的点击响应事件为显示弹出式菜单。
3.根据权利要求2所述的菜单实现方法,其特征在于,所述菜单显示策略进一步包括 根据鼠标所在菜单项的位置,按预设的缩放比例放大显示鼠标所在位置的焦点菜单项;以所述焦点菜单项的中点为中心,根据鼠标的位置和移动方向调整左右相邻的两个菜单项的放大比例,并按照调整后的放大比例显示与所述焦点菜单项左右相邻的两个菜单项;根据所述菜单控件的长度、所述焦点菜单项的尺寸、以及与所述焦点菜单项左右相邻的两个菜单项的尺寸按比例缩小其他菜单项,使所述菜单控件的长度不变。
4.根据权利要求2所述的菜单实现方法,其特征在于,基于微软的Windows Presentation Foundation模板生成所述菜单控件。
5.根据权利要求4所述的菜单实现方法,其特征在于,在根据所述菜单控件模板生成所述菜单控件之后,将所述菜单控件放入一个单独的窗体中,以适应不同的背景界面的刷新模式。
6.一种菜单实现装置,其特征在于,包括菜单控件模板创建部件,用于创建菜单控件模板,确定所述菜单控件模板的显示框架;菜单显示策略设置部件,用于在所述菜单控件模板中设置菜单显示策略; 菜单控件生成部件,用于根据所述菜单控件模板生成菜单控件; 其中,所述菜单显示策略为当鼠标进入菜单项区域、在菜单项区域移动和移出菜单项区域时,实时调整每个菜单项的位置、宽度和高度。
7.根据权利要求6所述的菜单实现装置,其特征在于,还包括关联部件,用于将所述菜单控件模板的子菜单与一个单独的弹出式菜单关联,并修改所述菜单控件的点击响应事件为显示弹出式菜单。
8.根据权利要求7所述的菜单实现装置,其特征在于,所述菜单显示策略进一步包括 根据鼠标所在菜单项的位置,按预设的缩放比例放大显示鼠标所在位置的焦点菜单项;以所述焦点菜单项的中点为中心,根据鼠标的位置和移动方向调整左右相邻的两个菜单项的放大比例,并按照调整后的放大比例显示与所述焦点菜单项左右相邻的两个菜单项;根据所述菜单控件的长度、所述焦点菜单项的尺寸、以及与所述焦点菜单项左右相邻的两个菜单项的尺寸按比例缩小其他菜单项,使所述菜单控件的长度不变。
9.根据权利要求7所述的菜单实现装置,其特征在于,基于微软的Windows Presentation Foundation模板生成所述菜单控件。
10.根据权利要求9所述的菜单实现装置,其特征在于,还包括菜单控件放置部件,用于在所述菜单控件生成部件根据所述菜单控件模板生成所述菜单控件之后,将所述菜单控件放入一个单独的窗体中,以适应不同的背景界面的刷新模式。
11.一种应用权利要求1-5中任一项所述的菜单实现方法的显示装置。
全文摘要
一种菜单实现方法、菜单实现装置及显示装置,所述菜单实现方法包括以下步骤创建菜单控件模板,确定所述菜单控件模板的显示框架;在所述菜单控件模板中设置菜单显示策略;根据所述菜单控件模板生成菜单控件;其中,所述菜单显示策略为当鼠标进入菜单项区域、在菜单项区域移动和移出菜单项区域时,实时调整每个菜单项的位置、宽度和高度。本发明将鱼眼效果结合到菜单技术上,在保留其原有基本展现形式的条件下,当鼠标在菜单上时,使得菜单能够随着鼠标的移动改变其大小和位置,解决了桌面软件中菜单过于呆板,用户体验较差的问题,增加了菜单的表现效果,提高了菜单的绚丽程度,增强了软件的用户体验。
文档编号G06F9/44GK102402435SQ20111036696
公开日2012年4月4日 申请日期2011年11月17日 优先权日2011年10月25日
发明者凌辰, 杨良策, 邹军 申请人:汉王科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1