一种生成应用程序界面的方法及系统的制作方法

文档序号:6573902阅读:311来源:国知局
专利名称:一种生成应用程序界面的方法及系统的制作方法
技术领域
本发明属于计算机应用领域,尤其涉及一种生成应用程序界面的方法及系统。
背景技术
随着计算机应用程序的广泛使用,用户对计算机应用程序界面的美观、易 用性提出了越来越高的要求,并且希望能在很短的时间内看到最新、最酷的界 面。这就要求界面开发人员能够快速地开发出美观、易用的应用程序界面。目 前,开发界面的方法是使用界面元素直接生成界面。但是,在生成不同界面的 过程中,有可能含有相同的操作,尤其是在生成若千个相似界面的过程中,生 成完第一个界面后,再生成其余界面时,又需要重复与生成第一个界面相同的 操作,从而带来了重复工作,使得生成界面的效率较低。

发明内容
本发明实施例的目的在于提供一种生成应用程序界面的方法,旨在解决现 有技术由于在生成不同界面的过程中,有可能含有相同的操作,从而在生成多 个界面时需要做重复工作,从而使生成界面的效率较低的问题。
本发明实施例是这样实现的, 一种生成应用程序界面的方法,所述方法包
括以下步骤
使用界面元素生成界面组件; 保存所述界面组件;
调取所述界面组件来生成应用程序界面。
本发明实施例的另一目的在于提供一种生成应用程序界面的系统,所述系
统包括
界面組件生成模块,用于使用界面元素生成界面组件; 界面组件保存模块,用于保存所述界面组件;以及 界面生成才莫块,用于调取所述界面组件来生成应用程序界面。 在本发明的实施例中,利用界面元素生成各种界面组件,并保存界面组件, 需要生成界面时可以直接调取所需的界面组件,从而避免了在用界面元素直接 生成界面的过程中存在的重复工作,提高了生成界面的效率。


图1是本发明实施例提供的生成应用程序界面的实现流程图2是本发明实施例提供的生成应用程序界面的系统的结构示意图。
具体实施例方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例4叉 仅用以解释本发明,并不用于限定本发明。
在本发明的实施例中,由界面元素生成各种界面组件,并保存界面组件, 生成界面时直"l妄调取所需的界面组件。
图1示出了本发明实施例提供的生成应用程序界面的流程,详述如下
在步骤101中,使用界面元素生成界面组件。界面组件由各种界面元素生成。 界面元素包括颜色块(ColorBox)、文字(FontString)、图片(Texture)这三种 可视界面元素,以及选择器(SdectFrame )、群组器(GroupFrame)这两种逻 辑界面元素。
在ColorBox的作图函数中,根据开发人员设置的ColorBox的属性来分支 和组合不同的作图方法,可以实现向方形(包括圓角方形)区域填充颜色,填 充色可以是单色或渐变色。如果填充色是渐变色,该渐变色可以是垂直渐变色
或水平渐变色,同样,渐变色可以是2色渐变或3色渐变。当渐变色是3色渐
变时,可以设置3种颜色渐变的位置。ColorBox还可以根据开发人员设置的属 性进行绘制边框,同时可设置边框的宽度;绘制圆角并可调节圆角的尺寸;绘 制中空的矩形或者圓角矩形。
根据开发人员设置的FontString的各种属性,可绘制文字,并且能够设置 文字的颜色、字体以及绘制方式,其中包括是否末尾不足显示时打点、单行/ 多行显示。
根据开发人员设置的Texture的属性可绘制图片和产生不规则形状的窗口 。 Texture隐藏了各种图片格式解析和显示时的不同,只要指定了文件名即可显 示,不必去关心是什么格式的图片。Texture还可以根据开发人员设置的属性设 置透明色,可以设置剪裁用于生成不规则形状的窗口区域,可以设置横向纵向 拉伸方式,可以设置是否灰度显示。
而逻辑界面元素SelectFrame则没有实际可视效果,SelectFrame只是一个 可以放置多个任意的界面元素的特殊容器,并且在任意的时刻只有一个界面元 素被显示,其余的被隐藏。根据开发人员设置的SelectFrame的select属性可以 指定SelectFrame中需要被显示的界面元素。
逻辑界面元素GroupFrame也是一个可以放置多个任意的界面元素的特殊 容器。GroupFrame用来将其内部容纳的多个Frame以平铺的方式全部显示出来, 其中,根据开发人员设置的GroupFrame属性信息,使平铺的方式可以是水平 单行、垂直单列、水平多行。
这5种界面元素之间也可以互相利用,每一种界面元素的内部可以放置任意 多个这5种元素作为其子元素。根据开发人员设置的这5种界面元素的属性和几 种元素的组合属性就可以生成各种界面组件。此5种界面元素为最基本的界面元 素,当然还可以增加使用其它的界面元素。
在步骤S102中,保存界面组件。生成界面组件后,需要将界面组件的函数 进行注册。在注册时,在脚本的表中保存一个代理函数指针,并将界面组件的
函数指针保存在这个代理函数的闭包中。在使用界面组件之前需要创建界面组 件的实例,在创建完成后,在代理函数的闭包中保存界面组件的实例的指针。
在步骤S103中,调取界面组件来生成应用程序界面。由于脚本本身的功能 是有限的,在脚本中利用界面组件生成界面时,为了能够在脚本中方便地操作 界面,需要实现在脚本中调用一些程序中的功能,所以需要调用界面组件的函数。
由于界面组件是一个类,根据0++的调用规则,在脚本中要调用界面组件 的函数需要有界面组件的实例的指针和界面组件的函数指针。此时,由代理函 数指针查询界面组件的实例的指针,并取出界面组件的函数指针。再由代理函 数指针将函数参数依次逆序压栈,当所有的参数都已经压栈完毕后,将界面组 件实例的指针压栈,并调用界面组件的函数来生成应用程序界面。
用上述方法制作一个三态的按钮的具体脚本语言描述如下 <SdectFrame select="Normal"> <Texture name=,,Normal" file=,,Normal.bmp,, />
<Texture name-,,Highlight" file="Highlight.bmp,, /> 〈Texture name="Pushed" file="Pushed.bmp,, />〃定义SelectFrame中所 包含的三个Texture
〈Scripts〉〃利用脚本语言调用ChangeSelect函数
<OnMouseEnter>
self:ChangeSelect( "Highlight");
々OnMouseEnter〉〃当鼠标移动进入fe^t时,Texture中的Highlight被
显示
<OnMouseLeave> self:ChangeSelect(; "Normal");
</OnMouseLeave>〃当鼠标离开^l建时,Texture中的Normal被显示
<OnLButtonDown>
self:ChangeSelect( "Pushed");
々OnLButtonDown〉〃当鼠标4会下按"键的时^t, Texture中的Pushed朝C 显示
<OnLButtonUp> self:ChangeSelect( "Highlight");
〈/OnLButtonUp》/当鼠标停止按下^4建时,Texture中的Highlight被 显示
</Scripts> </SelectFrame>
由3个界面元素Texture组建了一个界面组件SelectFrame,再用脚本语言 来调用该SelectFrame。当鼠标离开^4建时,Texture中的Normal被显示;当鼠 标移动进入4务睫时,Texture中的Highlight被显示;当鼠标按下按键的时候, Texture中的Pushed被显示,鼠标停止按下按键时,鼠标实际还停留在按键上, Texture中的Highlight被显示。界面组件SelectFrame生成后,其它需要实现类 似功能的界面也可以调用SelectFrame。
图2示出了本发明实施例提供的生成应用程序界面的系统的结构,该系统 包括界面组件生成模块21、界面组件保存模块22及界面生成模块23。界面组 件保存模块22还包括函数指针保存模块221和界面组件的实例的指针保存模块 222。界面生成模块23还包括指针调取模块231、函数参数压栈模块232、指针 压栈模块233及函数调用模块234。先由界面组件生成模块21使用界面元素生 成界面组件。然后,函数指针保存模块221在脚本的表中保存一个代理函数指 针,并将界面组件的函数指针保存在代理函数中,界面组件的实例的指针保存 模块222则创建界面组件的实例,并在代理函数指针中保存界面组件的实例的 指针。最后,指针调取模块231查询界面组件的实例的指针,并取出界面组件 的函数指针,函数参数压栈模块232将界面组件的函数参数依次逆序压栈,指 针压栈模块233将界面组件的实例的指针压栈,函数调用模块234调用界面组 件的函数来生成应用程序界面。
在本发明的实施例中,利用界面元素先生成各种界面组件,并保存界面组
件,需要生成界面时就可以直接调取所需的界面组件,从而避免了在用界面元 素直接生成界面的过程中存在的重复工作,提高了生成界面的效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明 的4呆护范围之内。
权利要求
1、一种生成应用程序界面的方法,其特征在于,所述方法包括以下步骤使用界面元素生成界面组件;保存所述界面组件;调取所述界面组件来生成应用程序界面。
2、 如权利要求1所述的生成应用程序界面的方法,其特征在于,所述界面 元素包括可视界面元素和逻辑界面元素;所述可视元素包括颜色块、文字及图片; 所述逻辑界面元素包括选择器及群组器。
3、 如权利要求1所述的生成应用程序界面的方法,其特征在于,所述保存 所述界面组件的步骤具体为在脚本的表中保存一个代理函数指针,并将界面组件的函数指针保存在所 述代理函数的闭包中;创建所述界面组件的实例,并在所述代理函数的闭包中保存所述界面组件 的实例的指针。
4、 如权利要求3所述的生成应用程序界面的方法,其特征在于,所述调取 所述界面组件来生成应用程序界面的步骤具体为查询界面组件的实例的指针,并取出界面组件的函数指针;将界面组件的函数参数依次逆序压栈;将所述界面组件的实例的指针压栈;调用界面组件的函数来生成应用程序界面。
5、 一种生成应用程序界面的系统,其特征在于,所述系统包括 界面组件生成模块,用于使用界面元素生成界面组件; 界面组件保存模块,用于保存所述界面组件;以及 界面生成模块,用于调取所述界面组件来生成应用程序界面。
6、 如权利要求5所述的生成应用程序界面的系统,其特征在于,所述界面元素包括可视界面元素和逻辑界面元素; 所述可视元素包括颜色块、文字及图片; 所述逻辑界面元素包括选择器及群组器。
7、 如权利要求5所述的生成应用程序界面的系统,其特征在于,所述界面 组件保存模块包括函数指针保存模块,用于在脚本的表中保存一个代理函数指针,并将界面 组件的函数指针保存在所述代理函数的闭包中;以及界面组件的实例的指针保存模块,用于创建所述界面组件的实例,并在所 述代理函数的闭包中保存所述界面组件的实例的指针。
8、 如权利要求7所述的生成应用程序界面的系统,其特征在于,所述界面 生成模块包括指针调取模块,用于查询界面组件的实例的指针,并取出界面组件的函数 指针;函数参数压栈模块,用于将界面组件的函数参数依次逆序压栈; 指针压栈;漠块,用于将所述界面组件的实例的指针压栈;以及 函数调用模块,用于调用界面组件的函数来生成应用程序界面。
全文摘要
本发明适用于计算机应用领域,提供了一种生成应用程序界面的方法及系统,所述方法包括以下步骤使用界面元素生成界面组件;保存所述界面组件;调取所述界面组件来生成应用程序界面。在本发明的实施例中,利用界面元素生成各种界面组件,并保存界面组件,需要生成界面时可以直接调取所需的界面组件,从而避免了在用界面元素直接生成界面的过程中存在的重复工作,提高了生成界面的效率。
文档编号G06F9/44GK101192149SQ200710074758
公开日2008年6月4日 申请日期2007年6月8日 优先权日2007年6月8日
发明者夏江波, 梁芝成, 谢昕虬, 颉 陈 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1