一种多窗口的实现方法及装置制造方法及图纸

技术编号:8735047 阅读:146 留言:0更新日期:2013-05-26 11:42
本发明专利技术实施例提供了一种多窗口的实现方法及装置,涉及通信领域,所述方法包括:终端加载主窗口,并在加载时将窗口操作函数加载到所述主窗口中;当需要打开新窗口时,从所述主窗口中调用所述窗口操作函数中的窗口创建函数;通过所述窗口创建函数在所述主窗口的进程中打开所述新窗口。所述装置包括:加载模块、调用模块和打开模块。本发明专利技术能够减少占用系统资源。

【技术实现步骤摘要】
一种多窗口的实现方法及装置
本专利技术涉及通信领域,特别涉及一种多窗口的实现方法及装置。
技术介绍
目前当使用终端的浏览器打开一个窗口时,还可以从该窗口中打开一个或多个新窗口,实现过程可以具体为:通过浏览器打开一个窗口,若该窗口的文本文件中包括一个或多个用于打开新窗口的代码,则调用浏览器自带的窗口创建函数,并将需要打开的新窗口的相关配置信息传输给浏览器,该相关配置信息可以包括URL(Uniform/UniversalResourceLocator,统一资源定位符)等信息;浏览器根据相关配置信息打开新窗口。调用浏览器自带的窗口创建函数时,系统会创建一个进程,该进程来运行浏览器浏览器自带的窗口创建函数并通过该进程打开新窗口,如此系统创建的进程数目会随着打开的新窗口的数目呈线性增长,而占用大量的系统资源。
技术实现思路
为了减少占用系统资源,本专利技术实施例提供了一种多窗口的实现方法及装置。所述技术方案如下:一种多窗口的实现方法,所述方法包括:终端加载主窗口,并在加载时将窗口操作函数加载到所述主窗口中;当需要打开新窗口时,从所述主窗口中调用所述窗口操作函数中的窗口创建函数;通过所述窗口创建函数在所述主窗口的进程中打开所述新窗口。所述终端在加载所述主窗口时,若解析到用于打开新窗口的代码,则确定需要打开新窗口;或,所述终端在加载主窗口后,接收到用户在所述主窗口中提交的用于打开新窗口的请求,则确定需要打开新窗口,并根据所述请求获取用于打开所述新窗口的代码。从所述主窗口中调用所述窗口操作函数中的窗口创建函数,包括:从所述用于打开新窗口的代码中提取窗口创建函数的标识,从所述主窗口中调用所述窗口创建函数的标识对应的窗口创建函数。所述通过所述窗口创建函数在所述主窗口的进程中打开所述新窗口,包括:所述终端通过所述主窗口的进程运行所述窗口创建函数,并获取所述新窗口的窗口配置信息;根据所述新窗口的窗口配置信息,生成所述新窗口,并将所述新窗口插入到所述主窗口的窗口数组中。如果需创建的新窗口是以框架Frame控件为载体的窗口,则所述窗口配置信息,包括统一资源定位符URL、所述新窗口的标识、宽度、高度、z次序、窗体可见值以及所述新窗口在所述主窗口中的位置坐标;所述根据所述新窗口的窗口配置信息,生成所述新窗口包括:根据所述新窗口的标识、宽度、高度、z次序、窗体可见值以及所述新窗口在所述主窗口的位置坐标,创建所述新窗口的窗体;并根据所述URL下载所述新窗口的内容,在所述新窗口的窗体中渲染所述内容。如果需创建的新窗口是以小窗体Widget控件为载体的窗口,则所述窗口配置信息,包括所述新窗口的标识、标题、宽度、高度、窗口内容、色彩空间RGBA格式以及所述新窗口在所述主窗口的位置坐标;所述根据所述新窗口的窗口配置信息,生成所述新窗口包括:根据所述新窗口的标识、标题、宽度、高度、RGBA格式以及所述新窗口在所述主窗口的位置坐标,创建所述新窗口的窗体;并向所述新窗口的窗体中加载所述窗口内容。所述通过所述窗口创建函数在所述主窗口的进程中打开所述新窗口之后,还包括:接收用户提交的事件,获取焦点所在的窗口的标识,根据所述获取的窗口的标识从所述主窗口的窗口数组中获取对应的窗口,将所述事件提交给所述获取的窗口,由所述获取的窗口对所述事件进行处理。一种多窗口的实现装置,所述装置包括:加载模块,用于加载主窗口,并在加载时将窗口操作函数加载到所述主窗口中;调用模块,用于当需要打开新窗口时,从所述主窗口中调用所述窗口操作函数中的窗口创建函数;打开模块,于通过所述窗口创建函数在所述主窗口的进程中打开所述新窗口。所述调用模块根据所述加载模块在加载所述主窗口时,解析到的用于打开新窗口的代码,确定需要打开新窗口;或,在所述加载模块在加载主窗口后,根据接收到的用户在所述主窗口中提交的用于打开新窗口的请求,确定需要打开新窗口,并根据所述请求获取用于打开所述新窗口的代码。所述调用模块,具体用于在确定当需要打开新窗口时,从所述用于打开新窗口的代码中提取窗口创建函数的标识,从所述主窗口中调用所述窗口创建函数的标识对应的窗口创建函数。所述打开模块具体用于通过所述主窗口的进程运行所述窗口创建函数,并获取所述新窗口的窗口配置信息;根据所述新窗口的窗口配置信息,生成所述新窗口;将所述新窗口插入到所述主窗口的窗口数组中。如果需创建的新窗口是以框架Frame控件为载体的窗口,则所述窗口配置信息,包括统一资源定位符URL、所述新窗口的标识、宽度、高度、z次序、窗体可见值以及所述新窗口在所述主窗口中的位置坐标;所述打开模块在生成所述新窗口时,具体用于根据所述新窗口的标识、宽度、高度、z次序、窗体可见值以及所述新窗口在所述主窗口的位置坐标,创建所述新窗口的窗体;并根据所述URL下载所述新窗口的内容,在所述新窗口的窗体中渲染所述内容。如果需创建的新窗口是以小窗体Widget控件为载体的窗口,则所述窗口配置信息,包括所述新窗口的标识、标题、宽度、高度、窗口内容、色采空间RGBA格式以及所述新窗口在所述主窗口的位置坐标;所述打开模块在生成所述新窗口时,具体用于根据所述新窗口的标识、标题、宽度、高度、RGBA格式以及所述新窗口在所述主窗口的位置坐标,创建所述新窗口的窗体;并向所述新窗口的窗体中加载所述窗口内容。所述装置还包括:处理模块,用于接收用户提交的事件,获取焦点所在的窗口的标识,根据所述获取的窗口的标识从所述主窗口的窗口数组中获取对应的窗口,将所述事件提交给所述获取的窗口,由所述获取的窗口对所述事件进行处理。在本专利技术实施例中,终端加载主窗口,并在加载时将窗口操作函数加载到主窗口中,当需要打开新窗口时,从主窗口中调用窗口操作函数中的窗口创建函数,通过调用的窗口创建函数在主窗口的进程中打开新窗口,如此可以通过一个主窗口进程来打开需要打开的各新窗口,从而不需要创建新的进程,所以创建的进程数目不会随着需要打开的新窗口的数目呈线性增长,节省大量的系统资源。附图说明图1是本专利技术一实施例提供的一种多窗口的实现方法流程图;图2是本专利技术另一实施例提供的一种多窗口的实现方法流程图;图3是本专利技术另一实施例提供的一种多窗口的实现装置示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。如图1所示,本专利技术实施例提供了一种多窗口的实现方法,包括:步骤101:终端加载主窗口,并在加载时将窗口操作函数加载到主窗口中;其中,该终端可以是具有浏览器功能的终端,如,机顶盒。具体的,终端通过浏览器加载主窗口,该主窗口可以是预先设置的,如,机顶盒的主页面,也可以是用户输入的,如由用户输入URL。需要说明的是,本专利技术实施例中的窗口操作函数可以包括:窗口创建函数、窗口删除函数等,这些窗口操作函数是自定义函数,可以用于在主窗口进程中进行创建、删除窗口等操作,具体可参考表1。步骤102:当需要打开新窗口时,从主窗口中调用窗口操作函数中的窗口创建函数;具体的,在加载主窗口的过程中,若解析到用于打开新窗口的代码,则确定需要打开新窗口;或者,在加载主窗口后,终端接收到用户在主窗口中提交的用于打开新窗口的请求,则确定需要打开新窗口,此时,终端根据该请求获取用于打开新窗口的代码。终端从用于打开新窗口的本文档来自技高网...
一种多窗口的实现方法及装置

【技术保护点】
一种多窗口的实现方法,其特征在于,所述方法包括:终端加载主窗口,并在加载时将窗口操作函数加载到所述主窗口中;当需要打开新窗口时,从所述主窗口中调用所述窗口操作函数中的窗口创建函数;通过所述窗口创建函数在所述主窗口的进程中打开所述新窗口。

【技术特征摘要】
1.一种多窗口的实现方法,其特征在于,所述方法包括:终端加载主窗口,并在加载时将窗口操作函数加载到所述主窗口中;当需要打开新窗口时,从所述主窗口中调用所述窗口操作函数中的窗口创建函数;所述窗口创建函数包括:用于创建以Frame控件为载体的所述新窗口的窗口创建函数,和/或,用于创建以Widget控件为载体的所述新窗口的窗口创建函数;通过所述窗口创建函数在所述主窗口的进程中打开所述新窗口。2.如权利要求1所述的方法,其特征在于,所述终端在加载所述主窗口时,若解析到用于打开新窗口的代码,则确定需要打开新窗口;或,所述终端在加载主窗口后,接收到用户在所述主窗口中提交的用于打开新窗口的请求,则确定需要打开新窗口,并根据所述请求获取用于打开所述新窗口的代码。3.如权利要求2所述的方法,其特征在于,从所述主窗口中调用所述窗口操作函数中的窗口创建函数,包括:从所述用于打开新窗口的代码中提取窗口创建函数的标识,从所述主窗口中调用所述窗口创建函数的标识对应的窗口创建函数。4.如权利要求1-3任一项所述的方法,其特征在于,所述通过所述窗口创建函数在所述主窗口的进程中打开所述新窗口,包括:所述终端通过所述主窗口的进程运行所述窗口创建函数,并获取所述新窗口的窗口配置信息;根据所述新窗口的窗口配置信息,生成所述新窗口,并将所述新窗口插入到所述主窗口的窗口数组中。5.如权利要求4所述的方法,其特征在于,如果需创建的新窗口是以框架Frame控件为载体的窗口,则所述窗口配置信息,包括统一资源定位符URL、所述新窗口的标识、宽度、高度、z次序、窗体可见值以及所述新窗口在所述主窗口中的位置坐标;所述根据所述新窗口的窗口配置信息,生成所述新窗口包括:根据所述新窗口的标识、宽度、高度、z次序、窗体可见值以及所述新窗口在所述主窗口的位置坐标,创建所述新窗口的窗体;并根据所述URL下载所述新窗口的内容,在所述新窗口的窗体中渲染所述内容。6.如权利要求4所述的方法,其特征在于,如果需创建的新窗口是以小窗体Widget控件为载体的窗口,则所述窗口配置信息,包括所述新窗口的标识、标题、宽度、高度、窗口内容、色彩空间RGBA格式以及所述新窗口在所述主窗口的位置坐标;所述根据所述新窗口的窗口配置信息,生成所述新窗口包括:根据所述新窗口的标识、标题、宽度、高度、RGBA格式以及所述新窗口在所述主窗口的位置坐标,创建所述新窗口的窗体;并向所述新窗口的窗体中加载所述窗口内容。7.如权利要求1所述的方法,其特征在于,所述通过所述窗口创建函数在所述主窗口的进程中打开所述新窗口之后,还包括:接收用户提交的事件,获取焦点所在的窗口的标识,根据所述获取的窗口的标识从所述主窗口的窗口数组中获取对应的窗口,将所述事件提交给所述获取的窗口,由所述获...

【专利技术属性】
技术研发人员:邱香膏徐雪松李国军黄永浩
申请(专利权)人:华为软件技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1