CN104572079B - 一种窗体动态更新方法 - Google Patents

一种窗体动态更新方法 Download PDF

Info

Publication number
CN104572079B
CN104572079B CN201410780946.4A CN201410780946A CN104572079B CN 104572079 B CN104572079 B CN 104572079B CN 201410780946 A CN201410780946 A CN 201410780946A CN 104572079 B CN104572079 B CN 104572079B
Authority
CN
China
Prior art keywords
forms
new
dynamic
registration table
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410780946.4A
Other languages
English (en)
Other versions
CN104572079A (zh
Inventor
郝大为
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ningxia Xinhang Information Technology Co., Ltd.
Original Assignee
NINGXIA XINHANG INFORMATION TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NINGXIA XINHANG INFORMATION TECHNOLOGY Co Ltd filed Critical NINGXIA XINHANG INFORMATION TECHNOLOGY Co Ltd
Priority to CN201410780946.4A priority Critical patent/CN104572079B/zh
Publication of CN104572079A publication Critical patent/CN104572079A/zh
Application granted granted Critical
Publication of CN104572079B publication Critical patent/CN104572079B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本申请提出了一种窗体动态更新方法,包括:步骤1、接收窗体更新指令并响应于所述窗体更新指令,调用身份验证指令,确认用于设置注册表的当前动态库;步骤2、调用注册表设置指令,通过当前动态库设置注册表;步骤3、调用获取指令,从注册表中直接获取窗体对象指针;步骤4、调用窗体创建指令,根据所述窗体对象指针创建新的窗体实例。本发明提出的窗体动态更新方法,使得应用本发明方法的设备能够实现适应不同应用的动态更新窗体的需要;同时使得大大降低了窗体更新的时间成本。

Description

一种窗体动态更新方法
技术领域
本发明涉及计算机技术,特别涉及一种窗体动态更新方法。
背景技术
现有计算设备中,无论是PC机还是嵌入式计算设备中,各类应用以窗口形式向用户展示各类信息,包括图像、视频、文字等等,某些具体行业应用还需向用户展示各类独特的信息,例如工业设计的图纸、布局等等。在这些应用中窗体包括通用窗体和专用窗体,例如微软公司的视窗、谷歌公司的Chrome等等。通常,由于响应于用户指令,或***运行过程中的自动触发指令经常需要对窗体进行更新。然而现有技术中的窗体更新方法往往仅针对同一模型,即仅针对同一应用,并不能适应不同应用的需要。另外,现有技术中,在每一次窗体更新过程中均需重新验证,这大大拖延了窗体更新的进度。本发明为此提供了一种窗体动态更新方法。
发明内容
为解决上述现有技术所存在的问题,本发明通过设置多个不同版本的动态库(DLL),同时设置用于注册经过验证的窗体对象指针的注册表,因而提供了一种窗体动态更新方法,包括:步骤1、接收窗体更新指令并响应于所述窗体更新指令,调用身份验证指令,确认用于设置注册表的当前动态库;步骤2、调用注册表设置指令,通过当前动态库设置注册表;步骤3、调用获取指令,从注册表中直接获取窗体对象指针;步骤4、调用窗体创建指令,根据所述窗体对象指针创建新的窗体实例。
优选地,所述调用身份验证指令,确认用于设置注册表的当前动态库包括:调用身份验证指令,根据返回的权限信息确定当前应用权限范围内的所有动态库;调用动态库描述指令,根据返回的动态库描述信息确定多个用于设置注册表的动态库;调用版本号提取指令,根据返回的版本号信息确定与当前应用相兼容的动态库作为当前动态库。
优选地,所述通过当前动态库设置注册表包括:向当前动态库请求设置注册表;当前动态库根据所述更新指令指示的窗体类型信息选择相对应的窗体对象指针,并将所述窗体对象指针放到注册表中。
优选地,所述当前动态库是所述多个用于设置注册表的动态库中的一个。
优选地,所述窗体更新指令至少指示出更新类型信息、窗体类型信息、窗体尺寸信息等。
优选地,所述更新类型至少包括新增、替换等。
优选地,所述根据所述窗体对象指针创建新的窗体实例包括:根据窗体对象指针确定默认窗体对象;实例化所述默认窗体对象得到新的窗体实例;解析所述窗体更新指令,获取窗体尺寸信息;根据所述窗体尺寸信息调整所述新的窗体实例。
优选地,在步骤根据所述窗体对象指针创建新的窗体实例之后,还包括步骤根据所述窗体更新指令指示的更新类型显示所述新的窗体实例,具体包括:解析所述窗体更新指令,获取更新类型信息;如果所述更新类型信息指示为新增,则直接显示所述新的窗体实例;如果所述更新类型信息指示为替换,则以所述新的窗体实例替换当前显示的窗体实例。
优选地,在步骤以所述新的窗体实例替换当前显示的窗体实例之后,还包括以下步骤:如果新的窗体实例显示在母窗体实例内并且所述新的窗体实例的尺寸大于所述母窗体实例,则调整所述新的窗体实例的尺寸使得所述新的窗体实例能够容纳在所述母窗体实例内部。
优选地,将所述新的窗体实例的尺寸调整为所述母窗体实例的尺寸的80%。
优选地,所述直接显示所述新的窗体实例包括:如果不存在当前显示的窗体实例,则将所述新的窗体实例作为母窗体进行显示;如果存在当前显示的窗体实例,则将所述新的窗体实例作为子窗体进行显示。
优选地,在步骤将所述新的窗体实例作为子窗体进行显示之后,还包括以下步骤:如果所述新的窗体实例的尺寸大于所述当前显示的窗体实例,则调整所述新的窗体实例的尺寸使得所述新的窗体实例能够容纳在所述当前显示的窗体实例内部。
优选地,当接收到下一窗体更新指令时,首先解析所述下一窗体更新指令,获取窗体类型信息;接着判断与所述下一窗体更新指令指示的窗体类型信息相对应的窗体对象指针是否已经在注册表中进行注册;如果判断结果为是则以所述下一窗体更新指令作为当前窗体更新指令并从所述步骤3开始执行,否则从所述步骤2开始执行。
优选地,所述当前动态库根据所述更新指令指示的窗体类型信息选择相对应的窗体对象指针包括:解析所述更新指令;获取窗体类型信息;调用窗体对象指针获取指令,根据所述窗体类型信息从窗体对象指针链表中获取与所述窗体类型信息相对应的窗体对象指针。
优选地,所述根据窗体对象指针确定默认窗体对象包括:调用窗体对象获取指令,根据所述窗体对象指针从窗体对象库中获取所述默认窗体对象。
本发明相比现有技术,具有以下优点:
通过设置多个不同版本的动态库(DLL),使得应用本发明方法的设备能够实现适应不同应用的动态更新窗体的需要。
通过设置用于注册经过验证的窗体对象指针的注册表,使得大大降低了窗体更新的时间成本。
附图说明
图1是根据本发明实施例的窗体动态更新方法的流程图。
具体实施方式
下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。
图1示出根据本发明实施例的窗体动态更新方法的流程图。如图1所示,在步骤1中,接收窗体更新指令并响应于所述窗体更新指令,调用身份验证指令,确认用于设置注册表的当前动态库。其中,窗体更新指令是来自***其它应用或进程发送给当前应用的,由当前应用主程序接收窗体更新指令。当前应用主程序通过接口程序调用身份验证指令,从而在多个动态库中确认用于设置注册表的当前动态库。其中,所述调用身份验证指令,确认用于设置注册表的当前动态库包括:调用身份验证指令,根据返回的权限信息确定当前应用权限范围内的所有动态库;调用动态库描述指令,根据返回的动态库描述信息确定多个用于设置注册表的动态库;调用版本号提取指令,根据返回的版本号信息确定与当前应用相兼容的动态库作为当前动态库。其中,由所述当前应用的主程序通过接口程序分别调用所述身份验证指令、所述动态库描述指令和所述版本号提取指令。其中,所述当前动态库是所述多个用于设置注册表的动态库中的一个。所述多个用于设置注册表的动态库均来自所述所有动态库。其中,如果与当前应用相兼容的动态库存在多个版本,则选择最新版本的动态库作为当前动态库。
在步骤2中,调用注册表设置指令,通过当前动态库设置注册表。其中,由所述当前应用的主程序通过接口程序调用注册表设置指令。所述通过当前动态库设置注册表包括:向当前动态库请求设置注册表;当前动态库根据所述更新指令指示的窗体类型信息选择相对应的窗体对象指针,并将所述窗体对象指针放到注册表中。其中,所述窗体更新指令至少指示出更新类型信息、窗体类型信息、窗体尺寸信息等;所述更新类型至少包括新增、替换等。在当前动态库将所述窗体对象指针放到注册表中之后,向所述当前应用的主程序返回确认消息,所述确认消息至少包括指示所述窗体对象指针在所述注册表中的键的信息,所述键是所述注册表中各个值的唯一索引信息。
在步骤3中,调用获取指令,从注册表中直接获取窗体对象指针。其中,所述当前应用的主程序响应于所述确认消息,通过接口程序调用所述获取指令,并从所述注册表直接获取窗体对象指针,所述窗体对象指针指示一默认窗体对象的位置。所述默认窗体对象是当前动态库根据所述更新指令指示的窗体类型信息选择的。
在步骤4中,调用窗体创建指令,根据所述窗体对象指针创建新的窗体实例。其中由所述当前应用的主程序通过接口程序调用窗体创建指令,并根据从所述注册表接收的所述窗体对象指针创建新的窗体实例。其中,所述根据所述窗体对象指针创建新的窗体实例包括:根据窗体对象指针确定默认窗体对象;实例化所述默认窗体对象得到新的窗体实例;解析所述窗体更新指令,获取窗体尺寸信息;根据所述窗体尺寸信息调整所述新的窗体实例。其中,在步骤根据所述窗体对象指针创建新的窗体实例之后,还包括步骤根据所述窗体更新指令指示的更新类型显示所述新的窗体实例,具体包括:解析所述窗体更新指令,获取更新类型信息;如果所述更新类型信息指示为新增,则直接显示所述新的窗体实例;如果所述更新类型信息指示为替换,则以所述新的窗体实例替换当前显示的窗体实例。其中,在步骤以所述新的窗体实例替换当前显示的窗体实例之后,还包括以下步骤:如果新的窗体实例显示在母窗体实例内并且所述新的窗体实例的尺寸大于所述母窗体实例,则调整所述新的窗体实例的尺寸使得所述新的窗体实例能够容纳在所述母窗体实例内部。例如,将所述新的窗体实例的尺寸调整为所述母窗体实例的尺寸的80%。
根据本发明实施例,所述直接显示所述新的窗体实例包括:如果不存在当前显示的窗体实例,则将所述新的窗体实例作为母窗体进行显示;如果存在当前显示的窗体实例,则将所述新的窗体实例作为子窗体进行显示。其中,在步骤将所述新的窗体实例作为子窗体进行显示之后,还包括以下步骤:如果所述新的窗体实例的尺寸大于所述当前显示的窗体实例,则调整所述新的窗体实例的尺寸使得所述新的窗体实例能够容纳在所述当前显示的窗体实例内部。例如,将所述新的窗体实例的尺寸调整为所述当前显示的窗体实例的尺寸的80%。
在本发明实施例中,当接收到下一窗体更新指令时,首先解析所述下一窗体更新指令,获取窗体类型信息;接着判断与所述下一窗体更新指令指示的窗体类型信息相对应的窗体对象指针是否已经在注册表中进行注册;如果判断结果为是则以所述下一窗体更新指令作为当前窗体更新指令并从所述步骤3开始执行,否则从所述步骤2开始执行。所述当前动态库根据所述更新指令指示的窗体类型信息选择相对应的窗体对象指针包括:解析所述更新指令;获取窗体类型信息;调用窗体对象指针获取指令,根据所述窗体类型信息从窗体对象指针链表中获取与所述窗体类型信息相对应的窗体对象指针。所述根据窗体对象指针确定默认窗体对象包括:调用窗体对象获取指令,根据所述窗体对象指针从窗体对象库中获取所述默认窗体对象。
综上所述,本发明提出的窗体动态更新方法,使得应用本发明方法的设备能够实现适应不同应用的动态更新窗体的需要;同时使得大大降低了窗体更新的时间成本。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

Claims (10)

1.一种窗体动态更新方法,包括:
步骤1、接收窗体更新指令并响应于所述窗体更新指令,调用身份验证指令,确认用于设置注册表的当前动态库;
步骤2、调用注册表设置指令,通过当前动态库设置注册表;
步骤3、调用获取指令,从注册表中直接获取窗体对象指针;
步骤4、调用窗体创建指令,根据所述窗体对象指针创建新的窗体实例;
其中,所述调用身份验证指令,确认用于设置注册表的当前动态库包括:
调用身份验证指令,根据返回的权限信息确定当前应用权限范围内的所有动态库;
调用动态库描述指令,根据返回的动态库描述信息确定多个用于设置注册表的动态库;
调用版本号提取指令,根据返回的版本号信息确定与当前应用相兼容的动态库作为当前动态库;
其中,所述通过当前动态库设置注册表包括:
向当前动态库请求设置注册表;
当前动态库根据所述更新指令指示的窗体类型信息选择相对应的窗体对象指针,并将所述窗体对象指针放到注册表中。
2.根据权利要求1所述的窗体动态更新方法,其特征在于,所述当前动态库是所述多个用于设置注册表的动态库中的一个。
3.根据权利要求1所述的窗体动态更新方法,其特征在于,所述窗体更新指令至少指示出更新类型信息、窗体类型信息、窗体尺寸信息。
4.根据权利要求3所述的窗体动态更新方法,其特征在于,所述更新类型至少包括新增、替换。
5.根据权利要求1所述的窗体动态更新方法,其特征在于,所述根据所述窗体对象指针创建新的窗体实例包括:
根据窗体对象指针确定默认窗体对象;
实例化所述默认窗体对象得到新的窗体实例;
解析所述窗体更新指令,获取窗体尺寸信息;
根据所述窗体尺寸信息调整所述新的窗体实例。
6.根据权利要求1所述的窗体动态更新方法,其特征在于,在步骤根据所述窗体对象指针创建新的窗体实例之后,还包括步骤根据所述窗体更新指令指示的更新类型显示所述新的窗体实例,具体包括:
解析所述窗体更新指令,获取更新类型信息;
如果所述更新类型信息指示为新增,则直接显示所述新的窗体实例;
如果所述更新类型信息指示为替换,则以所述新的窗体实例替换当前显示的窗体实例。
7.根据权利要求6所述的窗体动态更新方法,其特征在于,在步骤以所述新的窗体实例替换当前显示的窗体实例之后,还包括以下步骤:
如果新的窗体实例显示在母窗体实例内并且所述新的窗体实例的尺寸大于所述母窗体实例,则调整所述新的窗体实例的尺寸使得所述新的窗体实例能够容纳在所述母窗体实例内部。
8.根据权利要求7所述的窗体动态更新方法,其特征在于,将所述新的窗体实例的尺寸调整为所述母窗体实例的尺寸的80%。
9.根据权利要求6所述的窗体动态更新方法,其特征在于,所述直接显示所述新的窗体实例包括:
如果不存在当前显示的窗体实例,则将所述新的窗体实例作为母窗体进行显示;
如果存在当前显示的窗体实例,则将所述新的窗体实例作为子窗体进行显示。
10.根据权利要求9所述的窗体动态更新方法,其特征在于,在步骤将所述新的窗体实例作为子窗体进行显示之后,还包括以下步骤:
如果所述新的窗体实例的尺寸大于所述当前显示的窗体实例,则调整所述新的窗体实例的尺寸使得所述新的窗体实例能够容纳在所述当前显示的窗体实例内部。
CN201410780946.4A 2014-12-17 2014-12-17 一种窗体动态更新方法 Active CN104572079B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410780946.4A CN104572079B (zh) 2014-12-17 2014-12-17 一种窗体动态更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410780946.4A CN104572079B (zh) 2014-12-17 2014-12-17 一种窗体动态更新方法

Publications (2)

Publication Number Publication Date
CN104572079A CN104572079A (zh) 2015-04-29
CN104572079B true CN104572079B (zh) 2018-06-15

Family

ID=53088245

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410780946.4A Active CN104572079B (zh) 2014-12-17 2014-12-17 一种窗体动态更新方法

Country Status (1)

Country Link
CN (1) CN104572079B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101667123A (zh) * 2009-09-24 2010-03-10 中兴通讯股份有限公司 一种不规则窗口实现方法及移动手持设备
US8108527B1 (en) * 2006-06-05 2012-01-31 Thomson Reuters (Markets) Llc Dynamic display using pushed-streamed data
CN101976183B (zh) * 2010-09-27 2012-02-22 广东威创视讯科技股份有限公司 一种多窗口图像同时更新时图像更新的方法及装置
CN101499006B (zh) * 2004-05-06 2012-05-30 柳濑隆敏 窗口显示***及显示方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499006B (zh) * 2004-05-06 2012-05-30 柳濑隆敏 窗口显示***及显示方法
US8108527B1 (en) * 2006-06-05 2012-01-31 Thomson Reuters (Markets) Llc Dynamic display using pushed-streamed data
CN101667123A (zh) * 2009-09-24 2010-03-10 中兴通讯股份有限公司 一种不规则窗口实现方法及移动手持设备
CN101976183B (zh) * 2010-09-27 2012-02-22 广东威创视讯科技股份有限公司 一种多窗口图像同时更新时图像更新的方法及装置

Also Published As

Publication number Publication date
CN104572079A (zh) 2015-04-29

Similar Documents

Publication Publication Date Title
US20170147562A1 (en) Visually differentiating strings for testing
CN106095432B (zh) 一种识别应用类型的方法
US10235270B2 (en) Method for assisting with debugging, and computer system
CN104699376A (zh) 控件自动布局方法
JP6333798B2 (ja) 数値制御装置
JP2008257335A5 (zh)
CN104808959B (zh) 一种信息处理方法及电子设备
CN106060617B (zh) 一种按键功能配置方法及***
US20160291582A1 (en) Numerical controller having function of automatically changing width of displayed letters
US20170346702A1 (en) Computer implemented method for displaying a user interface
CN110188074B (zh) 一种文件编辑标记显示方法和设备
CN103645905A (zh) 一种增量数据获取方法及装置
CN104572079B (zh) 一种窗体动态更新方法
US20150052539A1 (en) Application Synchronization Method and Program
JP2008269515A (ja) パラメータによる画面レイアウト動的生成方法
JP2010039967A (ja) Guiプログラム開発支援装置及び開発支援方法およびguiプログラム
JP2008015975A (ja) アプリケーション設定情報更新方法
CN109933323A (zh) 一种设置用户界面的方法及装置
BRPI0419169A (pt) imagem possuindo áreas de imagem distintas, menu do dispositivo, servidor em uma rede de comunicação, método para definir um menu do dispositivo para o dispositivo, e, programa de computador
CN103716561B (zh) 图像质量参数调节方法及***
US20200089479A1 (en) Cross-platform, cross-application styling and theming infrastructure
CN103207746B (zh) 一种功能调用方法及装置
CN113419483A (zh) 设备状态的显示方法、装置、终端及存储介质
CN111104085A (zh) 显示屏适配方法、装置、计算机设备及存储介质
JP2015148925A (ja) プログラム生成装置および方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150917

Address after: 225400, room 4, building 401, traffic district, Taixing Town, Taixing, Jiangsu

Applicant after: Ju Qiuping

Address before: 100020 Beijing city Chaoyang District auspicious A Jiahui International Center No. 14 block 1506

Applicant before: Sea of clouds Science and Technology Ltd. can be thought in Beijing

TA01 Transfer of patent application right

Effective date of registration: 20180507

Address after: 750000 Yinchuan, the Ningxia Hui Autonomous Region, Jinfeng District, read the Bay Central Business District Service Center office building, east 2 floor, Room 501.

Applicant after: Ningxia Xinhang Information Technology Co., Ltd.

Address before: 225400 Room 401, building 4, traffic district, Taixing Town, Taixing, Jiangsu.

Applicant before: Ju Qiuping

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant