CN105404512B - 一种应用程序窗口界面更改方法及装置 - Google Patents

一种应用程序窗口界面更改方法及装置 Download PDF

Info

Publication number
CN105404512B
CN105404512B CN201510828823.8A CN201510828823A CN105404512B CN 105404512 B CN105404512 B CN 105404512B CN 201510828823 A CN201510828823 A CN 201510828823A CN 105404512 B CN105404512 B CN 105404512B
Authority
CN
China
Prior art keywords
window
file
interface description
child
description file
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
CN201510828823.8A
Other languages
English (en)
Other versions
CN105404512A (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.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies 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 Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201510828823.8A priority Critical patent/CN105404512B/zh
Publication of CN105404512A publication Critical patent/CN105404512A/zh
Application granted granted Critical
Publication of CN105404512B publication Critical patent/CN105404512B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明公开了一种应用程序窗口界面更改方法及装置,属于嵌入式图形用户界面领域。所述方法包括:创建主窗口,以主窗口为父窗口创建应用程序窗口,调整应用程序窗口的位置和大小,以应用程序窗口为父窗口创建子窗口,将子窗口的纵向层叠顺序设置为最底层。所述装置包括:第一读取模块、第一创建模块、第二创建模块、覆盖模块、第二读取模块、第三创建模块和设置模块。本发明的有益效果在于通过对原有的应用程序窗口进行包装和覆盖,在不完全替换应用程序窗口的情况下,即可创建更加高效、绚丽以及易于扩展的窗口界面,可以提高应用程序窗口界面的更改效率、降低更改难度和减少更改成本。

Description

一种应用程序窗口界面更改方法及装置
技术领域
本发明涉及嵌入式图形用户界面领域,尤其涉及一种应用程序窗口界面更改方法及装置。
背景技术
Windows是美国微软公司研发的操作系统,相较于DOS系统,Windows采用了更为人性化的图形化模式,即通过显示图形用户界面来允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其他任务来完成人与计算机的通信。随着相关产业的发展,人机交互图形用户界面设计因其在产品方面产生的强大增值功能、以及带动的巨大市场价值而日益受到重视,因此继续采用Windows统一的界面和风格的窗口显然无法继续满足市场的需求。现有的解决方案为使用MFC(Microsoft FoundationClasses,微软基础类库)来更改窗口界面,但使用MFC更改窗口存在效率低、难度大和开发成本高的缺陷。
发明内容
本发明的目的是克服现有技术的缺陷,提供一种应用程序窗口界面更改方法及装置。
一方面,本发明提供一种应用程序窗口界面更改方法,具体包括:
步骤S1、读取预先创建的主窗口界面描述文件,根据所述主窗口界面描述文件中的描述创建主窗口;
步骤S2、以所述主窗口为父窗口创建应用程序窗口,根据所述主窗口界面描述文件中的子窗口区域标识调整所述应用程序窗口的位置和大小;
步骤S3、读取预先创建的子窗口界面描述文件,根据子窗口界面描述文件中的描述,以所述应用程序窗口为父窗口创建子窗口;
步骤S4、将所述子窗口的纵向层叠顺序设置为最底层。
上述方法中,所述读取预先创建的主窗口界面描述文件可以具体包括:根据当前工作目录、预设的资源文件夹名称和预设的主窗口界面描述文件名称获取主窗口界面描述文件的绝对路径,根据所述绝对路径读取预先创建的主窗口界面描述文件。
所述根据所述主窗口界面描述文件中的描述创建主窗口可以具体包括:解析所述主窗口界面描述文件,获取所述主窗口界面描述文件中涉及的资源文件,根据所述主窗口界面描述文件中的描述以及所述资源文件创建主窗口;
进一步地,所述获取所述主窗口界面描述文件中涉及的资源文件,具体包括:根据当前工作目录、预设的资源文件夹名称和所述主窗口界面描述文件中的资源文件相对路径获取所述主窗口界面描述文件中涉及的资源文件的绝对路径,根据所述绝对路径读取所述主窗口界面描述文件中涉及的资源文件。
上述方法中,所述步骤S3中还可以包括:判断所述预先创建的子窗口界面描述文件中是否包含子窗口区域标记,若包含则根据所述子窗口区域标记调整所述应用程序窗口中的相应控件的位置和大小,然后执行步骤S4,若不包含则直接执行步骤S4。
所述主窗口界面描述文件中的描述具体包括:对主窗口的大小、标题栏高度、标题栏背景以及子窗口区域标记的描述。
所述以所述主窗口为父窗口创建应用程序窗口具体包括:删除应用程序窗口资源文件中的标题栏属性和边框属性,将所述资源文件中的窗口类型属性更改为子窗口,根据所述资源文件,以所述主窗口为父窗口创建应用程序窗口;
相应地,所述子窗口界面描述文件中的描述具体包括:对子窗口的大小、背景以及子窗口区域标记的描述,所述子窗口区域标记与所述应用程序窗口中的控件一一对应。
或者,所述以所述主窗口为父窗口创建应用程序窗口具体包括:删除应用程序窗口资源文件中的标题栏属性、边框属性和控件属性,将所述资源文件中的窗口类型属性更改为子窗口,根据所述资源文件,以所述主窗口为父窗口创建应用程序窗口;
相应地,所述子窗口界面描述文件中的描述具体包括:对子窗口的大小、背景和控件的描述,所述控件与应用程序窗口资源文件中被删除的控件属性一一对应。
又或者,所述以所述主窗口为父窗口创建应用程序窗口具体包括:删除应用程序窗口资源文件中的标题栏属性、边框属性和部分控件属性,将所述资源文件中的窗口类型属性更改为子窗口,根据所述资源文件,以所述主窗口为父窗口创建应用程序窗口;
所述子窗口界面描述文件中的描述具体包括:对子窗口的大小、背景、控件和子窗口区域标记的描述,所述子窗口区域标记与应用程序窗口资源文件中未被删除的控件属性一一对应,所述控件与应用程序窗口资源文件中被删除的控件属性一一对应;
进一步地,所述部分控件属性具体包括:按钮控件属性和/或静态显示控件属性和/或图片控件属性。
上述方法中,所述读取预先创建的子窗口界面描述文件,具体包括:根据当前工作目录、预设的资源文件夹名称和预设的子窗口界面描述文件名称获取子窗口界面描述文件的绝对路径,根据所述绝对路径读取预先创建的子窗口界面描述文件。
所述根据子窗口界面描述文件中的描述,以所述应用程序窗口为父窗口创建子窗口,具体包括:解析所述子窗口界面描述文件,获取所述子窗口界面描述文件中涉及的资源文件,根据所述子窗口界面描述文件中的描述以及所述资源文件以所述应用程序窗口为父窗口创建子窗口;
进一步地,所述获取所述子窗口界面描述文件中涉及的资源文件,具体包括:根据当前工作目录、预设的资源文件夹名称和所述子窗口界面描述文件中的资源文件相对路径获取所述子窗口界面描述文件中涉及的资源文件的绝对路径,根据所述绝对路径读取所述子窗口界面描述文件中涉及的资源文件。
另一方面,本发明还提供一种应用程序窗口界面更改装置,具体包括:
第一读取模块,用于读取预先创建的主窗口界面描述文件;
第一创建模块,用于根据所述第一读取模块读取到的主窗口界面描述文件中的描述创建主窗口;
第二创建模块,用于以所述第一创建模块创建的主窗口为父窗口创建应用程序窗口;
覆盖模块,用于根据所述第一读取模块读取到的主窗口界面描述文件中的子窗口区域标识调整所述第二创建模块创建的应用程序窗口;
第二读取模块,用于读取预先创建的子窗口界面描述文件;
第三创建模块,用于根据所述第二读取模块读取到的子窗口界面描述文件,以所述第二创建模块创建的应用程序窗口为父窗口创建子窗口;
设置模块,用于将所述第三创建模块创建的子窗口的纵向层叠顺序设置为最底层。
上述装置中,所述第一读取模块可以具体用于:根据当前工作目录、预设的资源文件夹名称和预设的主窗口界面描述文件名称获取主窗口界面描述文件的绝对路径,根据所述绝对路径读取预先创建的主窗口界面描述文件。
所述第一创建模块具体包括:
第一获取单元,用于解析所述第一读取模块读取到的主窗口界面描述文件,获取所述主窗口界面描述文件中涉及的资源文件;
第一创建单元,用于根据所述主窗口界面描述文件中的描述以及所述第一获取单元获取到的资源文件创建主窗口;
进一步地,所述第一获取单元具体用于:解析所述第一读取模块读取到的主窗口界面描述文件,根据当前工作目录、预设的资源文件夹名称和所述主窗口界面描述文件中的资源文件相对路径获取所述主窗口界面描述文件中涉及的资源文件的绝对路径,根据所述绝对路径读取所述主窗口界面描述文件中涉及的资源文件。
上述装置中还可以包括判断模块和调整模块:
所述判断模块用于判断所述第二读取模块读取到的子窗口界面描述文件中是否包含子窗口区域标记;
所述调整模块用于当所述判断模块判断所述第二读取模块读取到的子窗口界面描述文件中包含子窗口区域标记时,根据所述子窗口区域标记调整所述第二创建模块创建的应用程序窗口中的相应控件的位置和大小。
上述装置中,所述第一创建模块可以具体用于:根据所述第一读取模块读取到的主窗口界面描述文件中对主窗口的大小、标题栏高度、标题栏背景以及子窗口区域标记的描述创建主窗口。
所述第二创建模块具体用于:删除应用程序窗口资源文件中的标题栏属性和边框属性,将所述资源文件中的窗口类型属性更改为子窗口,根据所述资源文件,以所述第一创建模块创建的主窗口为父窗口创建应用程序窗口。
或者,所述第二创建模块具体用于:删除应用程序窗口资源文件中的标题栏属性、边框属性和控件属性,将所述资源文件中的窗口类型属性更改为子窗口,根据所述资源文件,以所述第一创建模块创建的主窗口为父窗口创建应用程序窗口。
又或者,所述第二创建模块具体用于:删除应用程序窗口资源文件中的标题栏属性、边框属性和部分控件属性,将所述资源文件中的窗口类型属性更改为子窗口,根据所述资源文件,以所述第一创建模块创建的主窗口为父窗口创建应用程序窗口;
进一步地,所述第二创建模块具体用于:删除应用程序窗口资源文件中的标题栏属性,边框属性,以及按钮控件属性和/或静态显示控件属性和/或图片控件属性,将所述资源文件中的窗口类型属性更改为子窗口,根据所述资源文件,以所述第一创建模块创建的主窗口为父窗口创建应用程序窗口。
上述装置中,所述第二读取模块具体用于:根据当前工作目录、预设的资源文件夹名称和预设的子窗口界面描述文件名称获取子窗口界面描述文件的绝对路径,根据所述绝对路径读取预先创建的子窗口界面描述文件。
所述第三创建模块具体包括:
第二获取单元,用于解析所述第二读取模块读取到的子窗口界面描述文件,获取所述子窗口界面描述文件中涉及的资源文件;
第二创建单元,用于根据所述子窗口界面描述文件中的描述以及所述第二获取单元获取到的资源文件以所述第二创建模块创建的应用程序窗口为父窗口创建子窗口;
进一步地,所述第二获取单元具体用于:解析所述第二读取模块读取到的子窗口界面描述文件,根据当前工作目录、预设的资源文件夹名称和所述子窗口界面描述文件中的资源文件相对路径获取所述子窗口界面描述文件中涉及的资源文件的绝对路径,根据所述绝对路径读取所述子窗口界面描述文件中涉及的资源文件。
本发明的有益效果在于:本发明通过对原有的应用程序窗口进行包装和覆盖,在不完全替换应用程序窗口的情况下,即可创建更加高效、绚丽以及易于扩展的窗口界面,可以提高应用程序窗口界面的更改效率、降低更改难度和减少更改成本。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的一种应用程序窗口界面更改方法的流程图;
图2为本发明实施例2提供的一种应用程序窗口界面更改方法的流程图;
图3为本发明实施例2中创建的DirectUI主窗口的示例图;
图4为本发明实施例2中更改属性之前的应用程序窗口的示例图;
图5为本发明实施例2中更改属性之后的应用程序窗口的示例图;
图6为本发明实施例2中将更改属性之后的应用程序窗口填充到DirectUI主窗口后的窗口示例图;
图7为本发明实施例2中创建的DirectUI子窗口的示例图;
图8为本发明实施例2中对图4所示的应用程序窗口进行了界面更改后,应用程序窗口的示例图;
图9为本发明实施例3中提供的一种应用程序窗口界面更改装置的方框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本实施例提供一种应用程序窗口界面更改方法,如图1所示,具体包括:
步骤S1、读取预先创建的主窗口界面描述文件,根据所述主窗口界面描述文件中的描述创建主窗口;
优选地,本实施例中,所述主窗口界面描述文件中的描述具体包括:对主窗口的大小、标题栏高度、标题栏背景以及子窗口区域标记的描述;
进一步地,所述主窗口界面描述文件中还可以包括对主窗口的字体、背景颜色或背景图片、标题栏关闭按钮和最小化按钮、窗口横向布局和纵向布局的描述。
步骤S2、以所述主窗口为父窗口创建应用程序窗口,根据所述主窗口界面描述文件中的子窗口区域标识调整所述应用程序窗口的位置和大小;
步骤S3、读取预先创建的子窗口界面描述文件,根据子窗口界面描述文件中的描述,以所述应用程序窗口为父窗口创建子窗口;
步骤S4、将所述子窗口的纵向层叠顺序设置为最底层。
本实施例中,以所述主窗口为父窗口创建应用程序窗口具体包括:删除应用程序窗口资源文件中的标题栏属性和边框属性,将所述资源文件中的窗口类型属性更改为子窗口,根据所述资源文件,以所述主窗口为父窗口创建应用程序窗口;相应地,所述子窗口界面描述文件中的描述具体包括:对子窗口的大小、背景以及子窗口区域标记的描述,所述子窗口区域标记与所述应用程序窗口中的控件一一对应;
或者,以所述主窗口为父窗口创建应用程序窗口具体包括:删除应用程序窗口资源文件中的标题栏属性、边框属性和控件属性,将所述资源文件中的窗口类型属性更改为子窗口,根据所述资源文件,以所述主窗口为父窗口创建应用程序窗口;相应地,所述子窗口界面描述文件中的描述具体包括:对子窗口的大小、背景和控件的描述,所述控件与应用程序窗口资源文件中被删除的控件属性一一对应。
又或者,以所述主窗口为父窗口创建应用程序窗口具体包括:删除应用程序窗口资源文件中的标题栏属性、边框属性和部分控件属性,将所述资源文件中的窗口类型属性更改为子窗口,根据所述资源文件,以所述主窗口为父窗口创建应用程序窗口;相应地,所述子窗口界面描述文件中的描述具体包括:对子窗口的大小、背景、控件和子窗口区域标记的描述,所述子窗口区域标记与应用程序窗口资源文件中未被删除的控件属性一一对应,所述控件与应用程序窗口资源文件中被删除的控件属性一一对应。
本发明实施例中,通过对原有的应用程序窗口进行包装和覆盖,在不完全替换应用程序窗口的情况下,有选择的删除和保留应用程序窗口中的控件,为了达到本发明最优的效果,可以删除应用窗口中控件界面与控件功能脱离的控件,例如按钮控件、静态显示控件、图片控件等,保留应用窗口中控件界面与控件功能有粘合的控件,例如动态显示控件、输入控件、树形控件、列表控件等。
实施例2
本实施例在实施例1的基础上,以使用DuiLib(实现DirectUI技术的引擎库)更改应用程序窗口,且删除应用程序窗口的部分控件为例,提供一种应用程序窗口界面更改方法。DirectUI意为直接在父窗口上绘图,即子窗口不以窗口句柄的形式创建,只是逻辑上的窗口,绘制在父窗口之上,是一种广泛应用于Windows XP、Vista和Windows 7上的一种技术。
需要说明的是,本实施例中给出的应用程序窗口仅为示例窗口,本实施例提供的方法具有通用性,不受示例窗口的样式、控件数量、控件种类等任意信息的限制。
本实施例提供的窗口的更改方法包括:在应用程序被运行前,分别创建带有子窗口区域标记的主窗口界面描述文件和带有子窗口区域标记的子窗口界面描述文件,并将所述主窗口界面描述文件和子窗口界面描述文件存于应用程序运行的同级目录下的资源文件夹中;更改应用程序窗口的属性,即删除应用程序窗口的标题栏、边框以及部分控件,将应用程序窗口的窗口类型修改为子窗口;其中,子窗口界面描述文件中子窗口区域标记的数量与应用程序窗口中保留的控件的数量相同;在应用程序被运行时使用DuiLib执行如图2所示的步骤:
步骤101、读取主窗口界面描述文件,根据主窗口界面描述文件中的描述创建DirectUI主窗口;
本实施例中,主窗口界面描述文件中包含对主窗口大小、背景、字体、标题栏以及子窗口区域标记等的描述。
步骤101具体包括:
步骤a1、获取当前工作目录,根据当前工作目录、预设的资源文件夹名称和预设的主窗口界面描述文件的名称获取主窗口界面描述文件的绝对路径;
具体地,通过调用操作系统API函数获取当前应用程序运行的工作目录,作为当前工作目录,将当前工作目录、预设的资源文件夹的名称以及预设的主窗口界面描述文件的名称顺序拼接,得到主窗口界面描述文件的绝对路径;
步骤a2、根据主窗口界面描述文件的绝对路径读取并解析主窗口界面描述文件,获取主窗口界面描述文件中涉及的资源文件;
本实施例中,主窗口界面描述文件中涉及的资源文件主要为图片文件;
具体地,步骤a2中将当前工作目录、预设的资源文件夹的名称以及主窗口界面描述文件中的资源文件相对路径顺序拼接得到资源文件的绝对路径,根据资源文件的绝对路径读取主窗口界面描述文件中涉及的资源文件;
步骤a3、根据主窗口界面描述文件中的描述和读取到的资源文件创建DirectUI主窗口;
例如,主窗口界面描述文件如下:
其中,<Dialog/>为子窗口区域标记,且上述主窗口界面描述文件中涉及两个图片文件,其相对路径分别为Png_Title.png和Png_icon.png,根据主界面描述文件的存储目录和图片文件的相对路径拼接得到两个图片文件的绝对路径分别为主窗口界面描述文件的存储目录/Png_Title.png和主窗口界面描述文件的存储目录/Png_icon.png,根据图片文件的绝对路径将两个图片文件读取到内存中,然后根据主窗口界面描述文件中的描述和内存中的图片文件创建DirectUI主窗口,创建的DirectUI主窗口如图3所示。
步骤102、判断主窗口界面描述文件中是否包含子窗口区域标记,是则执行步骤103,否则应用程序窗口界面更改失败,结束;
步骤103、以DirectUI主窗口为父窗口创建应用程序窗口,根据主窗口界面描述文件中的子窗口区域标记调整应用程序窗口的位置和大小;
例如,更改窗口属性之前的应用程序窗口如图4所示,以DirectUI主窗口为父窗口创建的更改属性之后的应用程序窗口如图5所示,根据主窗口界面描述文件中的子窗口区域标记<Dialog/>调整如图5所示的应用程序窗口的位置和大小后,图5所示的应用程序窗口将作为图3所示的DirectUI主窗口的子窗口填充到图3所示的DirectUI主窗口的子窗口区域,如图6所示。
步骤104、读取子窗口界面描述文件,根据子窗口界面描述文件,以应用程序窗口为父窗口创建DirectUI子窗口;
本实施例中,子窗口界面描述文件中包含对子窗口大小、背景、字体、控件以及子窗口区域标记等的描述,所述控件与应用程序窗口中被删除的控件一一对应,子窗口区域标记与应用程序窗口中未被删除的控件一一对应。
步骤104具体包括:
步骤b1、根据当前工作目录、预设的资源文件夹名称和预设的子窗口界面描述文件的名称获取子窗口界面描述文件的绝对路径;
具体地,通过调用操作系统API函数获取当前工作目录,将当前工作目录、预设的资源文件夹的名称以及预设的子窗口界面描述文件的名称顺序拼接,得到子窗口界面描述文件的绝对路径;
步骤b2、根据子窗口界面描述文件的绝对路径读取并解析子窗口界面描述文件,获取子窗口界面描述文件中涉及的资源文件;
本实施例中,子窗口界面描述文件中涉及的资源文件主要为图片文件;
具体地,步骤b2中将当前工作目录、预设的资源文件夹的名称以及子窗口界面描述文件中的资源文件相对路径顺序拼接得到资源文件的绝对路径,根据资源文件的绝对路径读取子窗口界面描述文件中涉及的资源文件;
步骤b3、根据子窗口界面描述文件中的描述和读取到的资源文件,以应用程序窗口为父窗口创建DirectUI子窗口。
例如,子窗口界面描述文件如下:
上述子窗口界面描述文件中包含两个子窗口区域标记:<TreeWnd name="TreeWnd"float="true"pos="24,113,0,0"width="479"height="148"/>和<ListWndname="ListWnd"float="true"pos="23,292,0,0"width="480"height="167"/>,根据上述子窗口界面描述文件创建的DirectUI子窗口如图7所示。
步骤105、判断子窗口界面描述文件中是否包含子窗口区域标记,是则执行步骤106,否则应用程序窗口界面更改失败,结束;
步骤106、根据子窗口界面描述文件中的子窗口区域标记调整应用程序窗口中对应控件的位置和大小;
具体地,通过调用系统函数SetWindowPos和MoveWindow调整应用程序窗口中对应控件的位置和大小;
本实施例中,当以应用程序窗口为父窗口创建DirectUI子窗口时,应用程序窗口的句柄会传递给DirectUI子窗口;步骤106具体包括:根据子窗口界面描述文件中的子窗口区域标记,使用应用程序窗口的句柄获取应用程序窗口中对应控件的句柄,根据子窗口界面描述文件中的子窗口区域标记和应用程序窗口中对应控件的句柄调整应用程序窗口中对应控件的位置和大小;
例如,本实施例中的子窗口界面描述文件中包含<TreeWnd name="TreeWnd"float="true"pos="24,113,0,0"width="479"height="148"/>和<ListWnd name="ListWnd"float="true"pos="23,292,0,0"width="480"height="167"/>两个子窗口区域标记,则步骤106具体包括:根据子窗口界面描述文件中的子窗口区域标记<TreeWndname="TreeWnd"float="true"pos="24,113,0,0"width="479"height="148"/>,使用应用程序窗口的句柄获取图4所示的应用程序窗口中的树形控件的句柄,根据<TreeWndname="TreeWnd"float="true"pos="24,113,0,0"width="479"height="148"/>和树形控件的句柄调整应用程序窗口中的树形控件的位置和大小;根据子窗口界面描述文件中的子窗口区域标记<ListWnd name="ListWnd"float="true"pos="23,292,0,0"width="480"height="167"/>,使用应用程序窗口的句柄获取图4所示的应用程序窗口中的列表控件的句柄,根据<ListWnd name="ListWnd"float="true"pos="23,292,0,0"width="480"height="167"/>和列表控件的句柄调整应用程序窗口中的列表控件的位置和大小。
步骤107、将DirectUI子窗口的Z-Order(窗口纵向层叠顺序)设置为HWND_BOTTOM(最底层),应用程序窗口界面更改成功,结束。
具体地,本实施例中通过调用操作系统的SetWindowPos函数将DirectUI子窗口的Z-Order设置为HWND_BOTTOM。
根据子窗口界面描述文件中的子窗口区域标记调整如图5所示的应用程序窗口中对应控件的位置和大小,将图7所示DirectUI子窗口的Z-Order设置为HWND_BOTTOM后,得到的最终窗口如图8所示。
本实施例提供的方法中,当最终窗口上的树形控件或列表控件(原应用程序窗口中被保留下来的控件)被操作时,直接调用树形控件或列表控件对应的功能代码实现树形控件或列表控件的功能,当最终窗口上的按钮控件(即在以应用程序窗口为父窗口创建DirectUI子窗口上根据原应用程序窗口中被删除的控件对应设置的控件)被操作时,根据被操作控件的标识转调应用程序中对应的功能代码。
实施例3
本实施例提供一种应用程序窗口界面更改装置,如图9所示,具体包括:
第一读取模块1,用于读取预先创建的主窗口界面描述文件;
第一创建模块2,用于根据第一读取模块1读取到的主窗口界面描述文件中的描述创建主窗口;
第二创建模块3,用于以第一创建模块2创建的主窗口为父窗口创建应用程序窗口;
覆盖模块4,用于根据第一读取模块1读取到的主窗口界面描述文件中的子窗口区域标识调整第二创建模块3创建的应用程序窗口;
第二读取模块5,用于读取预先创建的子窗口界面描述文件;
第三创建模块6,用于根据第二读取模块5读取到的子窗口界面描述文件,以第二创建模块3创建的应用程序窗口为父窗口创建子窗口;
设置模块7,用于将第三创建模块6创建的子窗口的纵向层叠顺序设置为最底层。
本实施例中,第一读取模块1具体用于:根据当前工作目录、预设的资源文件夹名称和预设的主窗口界面描述文件名称获取主窗口界面描述文件的绝对路径,根据所述绝对路径读取预先创建的主窗口界面描述文件。
本实施例中,第一创建模块2具体包括:
第一获取单元,用于解析所述第一读取模块1读取到的主窗口界面描述文件,获取所述主窗口界面描述文件中涉及的资源文件;
第一创建单元,用于根据所述主窗口界面描述文件中的描述以及第一获取单元获取到的资源文件创建主窗口;
进一步地,第一获取单元可以具体用于:解析第一读取模块1读取到的主窗口界面描述文件,根据当前工作目录、预设的资源文件夹名称和所述主窗口界面描述文件中的资源文件相对路径获取所述主窗口界面描述文件中涉及的资源文件的绝对路径,根据所述绝对路径读取所述主窗口界面描述文件中涉及的资源文件。
本实施例所述的装置中还可以包括:
判断模块,用于判断第二读取模块5读取到的子窗口界面描述文件中是否包含子窗口区域标记;
调整模块,用于当判断模块判断第二读取模块5读取到的子窗口界面描述文件中包含子窗口区域标记时,根据所述子窗口区域标记调整第二创建模块3创建的应用程序窗口中的相应控件的位置和大小。
本实施例中,第一创建模块2具体用于:根据所述第一读取模块1读取到的主窗口界面描述文件中对主窗口的大小、标题栏高度、标题栏背景以及子窗口区域标记的描述创建主窗口。
本实施例中,第二创建模块3具体用于:删除应用程序窗口资源文件中的标题栏属性和边框属性,将所述资源文件中的窗口类型属性更改为子窗口,根据所述资源文件,以第一创建模块2创建的主窗口为父窗口创建应用程序窗口;
或者,第二创建模块3具体用于:删除应用程序窗口资源文件中的标题栏属性、边框属性和控件属性,将所述资源文件中的窗口类型属性更改为子窗口,根据所述资源文件,以所述第一创建模块2创建的主窗口为父窗口创建应用程序窗口;
又或者,第二创建模块3具体用于:删除应用程序窗口资源文件中的标题栏属性、边框属性和部分控件属性,将所述资源文件中的窗口类型属性更改为子窗口,根据所述资源文件,以第一创建模块2创建的主窗口为父窗口创建应用程序窗口;优选地,删除的部分控件属性包括:按钮控件属性和/或静态显示控件属性和/或图片控件属性。
本实施例中,第二读取模块5具体用于:根据当前工作目录、预设的资源文件夹名称和预设的子窗口界面描述文件名称获取子窗口界面描述文件的绝对路径,根据所述绝对路径读取预先创建的子窗口界面描述文件。
本实施例中,第三创建模块6具体包括:
第二获取单元,用于解析所述第二读取模块5读取到的子窗口界面描述文件,获取所述子窗口界面描述文件中涉及的资源文件;
第二创建单元,用于根据所述子窗口界面描述文件中的描述以及所述第二获取单元获取到的资源文件以所述第二创建模块3创建的应用程序窗口为父窗口创建子窗口;
进一步地,第二获取单元可以具体用于:解析所述第二读取模块5读取到的子窗口界面描述文件,根据当前工作目录、预设的资源文件夹名称和所述子窗口界面描述文件中的资源文件相对路径获取所述子窗口界面描述文件中涉及的资源文件的绝对路径,根据所述绝对路径读取所述子窗口界面描述文件中涉及的资源文件。
以上所述的实施例只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

Claims (26)

1.一种应用程序窗口界面更改方法,其特征在于,包括:
在应用程序被运行之前,创建带有子窗口区域标记的主窗口界面描述文件,创建子窗口界面描述文件;在所述应用程序被运行时执行如下步骤:
步骤S1、读取预先创建的主窗口界面描述文件,根据所述主窗口界面描述文件中的描述创建主窗口;
步骤S2、以所述主窗口为父窗口创建应用程序窗口,根据所述主窗口界面描述文件中的子窗口区域标识调整所述应用程序窗口的位置和大小;
步骤S3、读取预先创建的子窗口界面描述文件,根据子窗口界面描述文件中的描述,以所述应用程序窗口为父窗口创建子窗口;
步骤S4、将所述子窗口的纵向层叠顺序设置为最底层。
2.如权利要求1所述的方法,其特征在于,所述读取预先创建的主窗口界面描述文件,具体包括:根据当前工作目录、预设的资源文件夹名称和预设的主窗口界面描述文件名称获取主窗口界面描述文件的绝对路径,根据所述绝对路径读取预先创建的主窗口界面描述文件。
3.如权利要求1所述的方法,其特征在于,所述根据所述主窗口界面描述文件中的描述创建主窗口,具体包括:解析所述主窗口界面描述文件,获取所述主窗口界面描述文件中涉及的资源文件,根据所述主窗口界面描述文件中的描述以及所述资源文件创建主窗口。
4.如权利要求3所述的方法,其特征在于,所述获取所述主窗口界面描述文件中涉及的资源文件,具体包括:根据当前工作目录、预设的资源文件夹名称和所述主窗口界面描述文件中的资源文件相对路径获取所述主窗口界面描述文件中涉及的资源文件的绝对路径,根据所述绝对路径读取所述主窗口界面描述文件中涉及的资源文件。
5.如权利要求1所述的方法,其特征在于,所述步骤S3中还包括:判断所述预先创建的子窗口界面描述文件中是否包含子窗口区域标记,若包含则根据所述子窗口区域标记调整所述应用程序窗口中的相应控件的位置和大小,然后执行步骤S4,若不包含则直接执行步骤S4。
6.根据权利要求1所述的方法,其特征在于,所述主窗口界面描述文件中的描述具体包括:对主窗口的大小、标题栏高度、标题栏背景以及子窗口区域标记的描述。
7.根据权利要求1所述的方法,其特征在于,所述以所述主窗口为父窗口创建应用程序窗口具体包括:删除应用程序窗口资源文件中的标题栏属性和边框属性,将所述资源文件中的窗口类型属性更改为子窗口,根据所述资源文件,以所述主窗口为父窗口创建应用程序窗口;
所述子窗口界面描述文件中的描述具体包括:对子窗口的大小、背景以及子窗口区域标记的描述,所述子窗口区域标记与所述应用程序窗口中的控件一一对应。
8.如权利要求1所述的方法,其特征在于,所述以所述主窗口为父窗口创建应用程序窗口具体包括:删除应用程序窗口资源文件中的标题栏属性、边框属性和控件属性,将所述资源文件中的窗口类型属性更改为子窗口,根据所述资源文件,以所述主窗口为父窗口创建应用程序窗口;
所述子窗口界面描述文件中的描述具体包括:对子窗口的大小、背景和控件的描述,所述控件与应用程序窗口资源文件中被删除的控件属性一一对应。
9.如权利要求1所述的方法,其特征在于,所述以所述主窗口为父窗口创建应用程序窗口具体包括:删除应用程序窗口资源文件中的标题栏属性、边框属性和部分控件属性,将所述资源文件中的窗口类型属性更改为子窗口,根据所述资源文件,以所述主窗口为父窗口创建应用程序窗口;
所述子窗口界面描述文件中的描述具体包括:对子窗口的大小、背景、控件和子窗口区域标记的描述,所述子窗口区域标记与应用程序窗口资源文件中未被删除的控件属性一一对应,所述控件与应用程序窗口资源文件中被删除的控件属性一一对应。
10.如权利要求9所述的方法,其特征在于,所述部分控件属性具体包括:按钮控件属性和/或静态显示控件属性和/或图片控件属性。
11.如权利要求1所述的方法,其特征在于,所述读取预先创建的子窗口界面描述文件,具体包括:根据当前工作目录、预设的资源文件夹名称和预设的子窗口界面描述文件名称获取子窗口界面描述文件的绝对路径,根据所述绝对路径读取预先创建的子窗口界面描述文件。
12.如权利要求1所述的方法,其特征在于,所述根据子窗口界面描述文件中的描述,以所述应用程序窗口为父窗口创建子窗口,具体包括:解析所述子窗口界面描述文件,获取所述子窗口界面描述文件中涉及的资源文件,根据所述子窗口界面描述文件中的描述以及所述资源文件以所述应用程序窗口为父窗口创建子窗口。
13.如权利要求12所述的方法,其特征在于,所述获取所述子窗口界面描述文件中涉及的资源文件,具体包括:根据当前工作目录、预设的资源文件夹名称和所述子窗口界面描述文件中的资源文件相对路径获取所述子窗口界面描述文件中涉及的资源文件的绝对路径,根据所述绝对路径读取所述子窗口界面描述文件中涉及的资源文件。
14.一种应用程序窗口界面更改装置,其特征在于,包括:
第一读取模块,用于在应用程序被运行时读取在所述应用程序被运行之前预先创建的带有子窗口区域标记的主窗口界面描述文件;
第一创建模块,用于根据所述第一读取模块读取到的主窗口界面描述文件中的描述创建主窗口;
第二创建模块,用于以所述第一创建模块创建的主窗口为父窗口创建应用程序窗口;
覆盖模块,用于根据所述第一读取模块读取到的主窗口界面描述文件中的子窗口区域标识调整所述第二创建模块创建的应用程序窗口;
第二读取模块,用于读取在所述应用程序被运行之前预先创建的子窗口界面描述文件;
第三创建模块,用于根据所述第二读取模块读取到的子窗口界面描述文件,以所述第二创建模块创建的应用程序窗口为父窗口创建子窗口;
设置模块,用于将所述第三创建模块创建的子窗口的纵向层叠顺序设置为最底层。
15.如权利要求14所述的装置,其特征在于,所述第一读取模块具体用于:在应用程序被运行时根据当前工作目录、预设的资源文件夹名称和预设的主窗口界面描述文件名称获取主窗口界面描述文件的绝对路径,根据所述绝对路径读取在所述应用程序被运行之前预先创建的主窗口界面描述文件。
16.如权利要求14所述的装置,其特征在于,所述第一创建模块具体包括:
第一获取单元,用于解析所述第一读取模块读取到的主窗口界面描述文件,获取所述主窗口界面描述文件中涉及的资源文件;
第一创建单元,用于根据所述主窗口界面描述文件中的描述以及所述第一获取单元获取到的资源文件创建主窗口。
17.如权利要求16所述的装置,其特征在于,所述第一获取单元具体用于:解析所述第一读取模块读取到的主窗口界面描述文件,根据当前工作目录、预设的资源文件夹名称和所述主窗口界面描述文件中的资源文件相对路径获取所述主窗口界面描述文件中涉及的资源文件的绝对路径,根据所述绝对路径读取所述主窗口界面描述文件中涉及的资源文件。
18.如权利要求14所述的装置,其特征在于,还包括:判断模块和调整模块;
所述判断模块用于判断所述第二读取模块读取到的子窗口界面描述文件中是否包含子窗口区域标记;
所述调整模块用于当所述判断模块判断所述第二读取模块读取到的子窗口界面描述文件中包含子窗口区域标记时,根据所述子窗口区域标记调整所述第二创建模块创建的应用程序窗口中的相应控件的位置和大小。
19.如权利要求14所述的装置,其特征在于,所述第一创建模块具体用于:根据所述第一读取模块读取到的主窗口界面描述文件中对主窗口的大小、标题栏高度、标题栏背景以及子窗口区域标记的描述创建主窗口。
20.如权利要求14所述的装置,其特征在于,所述第二创建模块具体用于:删除应用程序窗口资源文件中的标题栏属性和边框属性,将所述资源文件中的窗口类型属性更改为子窗口,根据所述资源文件,以所述第一创建模块创建的主窗口为父窗口创建应用程序窗口。
21.如权利要求14所述的装置,其特征在于,所述第二创建模块具体用于:删除应用程序窗口资源文件中的标题栏属性、边框属性和控件属性,将所述资源文件中的窗口类型属性更改为子窗口,根据所述资源文件,以所述第一创建模块创建的主窗口为父窗口创建应用程序窗口。
22.如权利要求14所述的装置,其特征在于,所述第二创建模块具体用于:删除应用程序窗口资源文件中的标题栏属性、边框属性和部分控件属性,将所述资源文件中的窗口类型属性更改为子窗口,根据所述资源文件,以所述第一创建模块创建的主窗口为父窗口创建应用程序窗口。
23.如权利要求22所述的装置,其特征在于,所述第二创建模块具体用于:删除应用程序窗口资源文件中的标题栏属性,边框属性,以及按钮控件属性和/或静态显示控件属性和/或图片控件属性,将所述资源文件中的窗口类型属性更改为子窗口,根据所述资源文件,以所述第一创建模块创建的主窗口为父窗口创建应用程序窗口。
24.如权利要求14所述的装置,其特征在于,所述第二读取模块具体用于:根据当前工作目录、预设的资源文件夹名称和预设的子窗口界面描述文件名称获取子窗口界面描述文件的绝对路径,根据所述绝对路径读取在所述应用程序被运行之前预先创建的子窗口界面描述文件。
25.如权利要求14所述的装置,其特征在于,所述第三创建模块具体包括:
第二获取单元,用于解析所述第二读取模块读取到的子窗口界面描述文件,获取所述子窗口界面描述文件中涉及的资源文件;
第二创建单元,用于根据所述子窗口界面描述文件中的描述以及所述第二获取单元获取到的资源文件以所述第二创建模块创建的应用程序窗口为父窗口创建子窗口。
26.如权利要求25所述的装置,其特征在于,所述第二获取单元具体用于:解析所述第二读取模块读取到的子窗口界面描述文件,根据当前工作目录、预设的资源文件夹名称和所述子窗口界面描述文件中的资源文件相对路径获取所述子窗口界面描述文件中涉及的资源文件的绝对路径,根据所述绝对路径读取所述子窗口界面描述文件中涉及的资源文件。
CN201510828823.8A 2015-11-25 2015-11-25 一种应用程序窗口界面更改方法及装置 Active CN105404512B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510828823.8A CN105404512B (zh) 2015-11-25 2015-11-25 一种应用程序窗口界面更改方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510828823.8A CN105404512B (zh) 2015-11-25 2015-11-25 一种应用程序窗口界面更改方法及装置

Publications (2)

Publication Number Publication Date
CN105404512A CN105404512A (zh) 2016-03-16
CN105404512B true CN105404512B (zh) 2019-05-10

Family

ID=55470015

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510828823.8A Active CN105404512B (zh) 2015-11-25 2015-11-25 一种应用程序窗口界面更改方法及装置

Country Status (1)

Country Link
CN (1) CN105404512B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445510B (zh) * 2016-09-09 2019-11-15 广州视睿电子科技有限公司 一种应用程序的控制方法与装置
CN107357576B (zh) * 2017-06-30 2020-07-28 惠州市德赛西威汽车电子股份有限公司 一种Windows应用程序多窗口并行绘图的方法及系统
CN108255488B (zh) * 2018-01-11 2021-07-23 武汉斗鱼网络科技有限公司 一种创建窗口边框的方法、装置及计算机设备
CN110874524B (zh) * 2018-08-10 2024-01-26 珠海金山办公软件有限公司 一种文档视觉效果的更改方法、系统和装置
CN110750909B (zh) * 2019-10-25 2023-10-27 中国建设银行股份有限公司 一种基于模型构建平台的建模方法、装置、设备及介质
CN111191164B (zh) * 2019-11-29 2023-08-22 泰康保险集团股份有限公司 一种窗口显示控制方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101208651A (zh) * 2005-04-01 2008-06-25 微软公司 图形用户界面管理
CN102523507A (zh) * 2011-12-29 2012-06-27 深圳市酷开网络科技有限公司 基于智能电视系统外接设备的应用方法及装置
CN102830957A (zh) * 2011-06-15 2012-12-19 康佳集团股份有限公司 一种生成界面代码和电视机应用软件的方法
CN103116503A (zh) * 2011-11-17 2013-05-22 华为软件技术有限公司 一种多窗口的实现方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101208651A (zh) * 2005-04-01 2008-06-25 微软公司 图形用户界面管理
CN102830957A (zh) * 2011-06-15 2012-12-19 康佳集团股份有限公司 一种生成界面代码和电视机应用软件的方法
CN103116503A (zh) * 2011-11-17 2013-05-22 华为软件技术有限公司 一种多窗口的实现方法及装置
CN102523507A (zh) * 2011-12-29 2012-06-27 深圳市酷开网络科技有限公司 基于智能电视系统外接设备的应用方法及装置

Also Published As

Publication number Publication date
CN105404512A (zh) 2016-03-16

Similar Documents

Publication Publication Date Title
CN105404512B (zh) 一种应用程序窗口界面更改方法及装置
CN104731584B (zh) 一种开放式数控系统人机界面可定制的组态设计方法
CA2135527C (en) Object oriented notification framework system
KR101456506B1 (ko) 웹 어플리케이션 저작도구 및 저작 방법
US8712953B2 (en) Data consumption framework for semantic objects
CA2135524C (en) International data processing system
CA2145679C (en) Object oriented framework system
CA2145677C (en) Dialog system
JP5116541B2 (ja) コンテキストに基づくソフトウェア層を確立するための方法、システム、および媒体(コンテキストに基づくソフトウェア層)
CN106021211A (zh) 一种智能表单系统及其生成方法
CN111259644B (zh) 富文本处理方法与编辑器、设备及存储介质
WO2016054549A1 (en) Application prototyping tool
KR101456505B1 (ko) 웹 어플리케이션 개발을 위한 사용자 인터페이스 프레임워크
CN103019738B (zh) 一种界面可自定义的数控系统及实现方法
CN106708506A (zh) 一种从视觉上优化Android应用启动速度的方法及装置
CN107818588A (zh) Android系统基于JNI多线程调用Qt绘图的装置和方法
CN112445564A (zh) 界面显示方法及电子设备、计算机可读存储介质
CN113626746A (zh) 一种基于web页面自定义绘图的方法
CN106293758A (zh) 一种Web应用界面换肤的方法和装置
CN103294463A (zh) 一种编辑系统及方法
KR101709186B1 (ko) 인터랙티브 멀티미디어 전자책 저작 장치 및 방법
CN109032601A (zh) 设计图在线协作切图装置及方法
CN108762750A (zh) 一种基于fmp模型的可视化界面生成方法和系统
CN112084750B (zh) 一种贴纸处理方法、装置、电子设备及存储介质
KR20140137630A (ko) 위젯 저작 시스템 및 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant