[发明专利]一种加载界面元素的系统及方法有效
申请号: | 200610113699.8 | 申请日: | 2006-10-13 |
公开(公告)号: | CN101162424A | 公开(公告)日: | 2008-04-16 |
发明(设计)人: | 李明;侯月文 | 申请(专利权)人: | 北京书生国际信息技术有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京德琦知识产权代理有限公司 | 代理人: | 王琦;王诚华 |
地址: | 100083北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 加载 界面 元素 系统 方法 | ||
技术领域
本发明涉及软件架构实现技术,尤指一种加载界面元素的系统及方法。
背景技术
在软件架构设计中,插件是具有统一接口的一组组件,插件可以动态的被主系统加载并实现独立的功能。由于插件的高扩展性,使其在现在软件架构设计中应用越来越广泛,相应的越来越多的界面元素也被设计在插件中实现,其中最常用的界面元素就是工具条。
以加载工具条为例,目前的实现方法主要有两种,第一种是在插件中生成工具条即创建工具条窗体句柄,然后通过该句柄添加工具条按钮,再传递给主系统显示;另一种是在主系统中创建工具条窗体句柄,然后将创建好的句柄发送给插件,由插件通过该句柄添加工具条按钮。
由于工具条的实现方式很多,比如API级别的Handle,或者MFC级别的工具条实现类的指针CToolBar*,或者BCG类似的界面类库中的某种特效工具条等等。为了保证主系统能够识别插件创建出的工具条,主系统与插件之间约定一种实现方式,但是这样却限制了工具条实现效果的扩展,而扩展是插件系统最重要的一个指标。
从现有实现方法可见,主系统和插件必须了解对方的实现细节,当一方变化都会引起另一方无法正确运行,最终,结构的高耦合性使得插件的扩展性无法充分实现。此外,由于主系统与插件之间有了特殊约定,就意味着模块耦合性增大,创建的工具条很可能成为一种封装不完善的设计。
发明内容
有鉴于此,本发明的主要目的在于提供一种加载界面元素的系统,能够提高插件的可扩展性。
本发明的另一目的在于提供一种加载界面元素的方法,能够提高插件的可扩展性。
为达到上述目的,本发明的技术方案具体是这样实现的:
一种创建界面元素的系统,该系统包括:主系统和插件,其中,
主系统用于实现界面元素的实际创建,并提供界面元素的显示样式;
插件用于实现界面元素具体的功能实现;
主系统需要界面元素时,从插件获取界面元素信息,并根据获得的界面元素信息,通知插件创建界面元素;插件在创建过程中调用主系统完成实际的界面元素创建。
所述主系统包括:界面窗体模块和控件创建模块,其中,
界面窗体模块,用于向所述插件发送查询请求;接收来自所述插件的查询响应,根据获得的查询结果获取需要创建的界面元素;向所述插件发送创建请求;
控件创建模块,用于接收来自插件的创建通知,完成界面元素的实际创建,并为每一个创建的界面元素项分配用于标识不同界面元素的命令标识ID。
所述控件创建模块为一组COM组件接口。
所述插件包括:控件查询模块和界面元素创建模块,其中,
控件查询模块,接收来自所述主系统的查询请求,获取插件包含的界面元素的信息,并将该信息携带在查询响应中通知给所述主系统;
界面元素创建模块,接收来自所述主系统的创建请求,通知所述主系统的控件创建模块创建界面元素。
所述界面窗体模块还用于,向所述插件中的界面元素功能处理模块广播需要显示的界面窗体对应的命令ID;显示所述插件返回的界面元素;
所述插件还包括:界面元素功能处理模块,根据接收到的命令ID,完成该命令ID对应的界面元素的功能和状态变化,并返回界面窗体模块。
所述插件为一个或一个以上;所述界面元素为工具条。
所述控件创建模块为一个或一个以上。
一种创建界面元素的方法,该方法包括以下步骤:
A.主系统需要界面元素时,从插件获取界面元素信息,并根据获得的界面元素信息,通知插件创建界面元素;
B.插件调用主系统的控件创建模块创建界面元素。
该方法还包括:所述主系统的控件创建模块为每一个创建的界面元素项分配用于标识不同界面元素的命令标识ID。
该方法还包括:所述主系统通过广播的方式向插件发送需要显示的界面窗体对应的ID,所述插件按照接收到的命令ID调用界面元素处理模块完成该命令ID对应的界面元素的功能和状态变化,并返回给主系统显示。
所述界面元素为工具条;所述界面元素信息为有/无界面元素,或界面元素的个数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京书生国际信息技术有限公司,未经北京书生国际信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200610113699.8/2.html,转载请声明来源钻瓜专利网。