CN103914288B - 判断控件状态的方法 - Google Patents
判断控件状态的方法 Download PDFInfo
- Publication number
- CN103914288B CN103914288B CN201210593531.7A CN201210593531A CN103914288B CN 103914288 B CN103914288 B CN 103914288B CN 201210593531 A CN201210593531 A CN 201210593531A CN 103914288 B CN103914288 B CN 103914288B
- Authority
- CN
- China
- Prior art keywords
- control
- state
- control state
- judging
- judge
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000009434 installation Methods 0.000 claims abstract description 12
- 230000008859 change Effects 0.000 claims abstract description 11
- 238000012544 monitoring process Methods 0.000 claims abstract description 4
- 230000001960 triggered effect Effects 0.000 claims 1
- 230000008901 benefit Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Abstract
本发明揭露一种判断控件状态的方法,包含以下步骤:通过一电子装置的一显示组件,提供一应用界面。其中,应用界面包含至少一控件,且控件对应至少一界面数据或程序状态。持续监控界面数据或程序状态是否改变。在监控到界面数据或程序状态有改变时,触发控件对应的至少一控件状态判断装置,借此使控件状态判断器判断控件状态。根据控件状态判断器的一判断结果,更新显示组件上所显示的控件的状态。
Description
技术领域
本发明是有关于一种判断控件状态的方法,且特别是有关于一种在界面数据或程序状态改变时触发控件状态判断的判断控件状态的方法。
背景技术
丰富的界面元素被应用在微软窗口操作系统(Microsoft Windows)的窗体以及智能移动终端设备的应用接口上。其中,大部分的界面元素被使用作为控件(Control)。在操作的过程中,控件的状态常需被改变,以方便在接口上进行操作和使用。
最常见的控件状态改变是对菜单项(menu item)和工具栏按钮(toolbar button)是否启用的控制。在界面操作过程中,菜单项和工具栏按钮是否启用由多种因素决定,例如:是否具备权限、使用场景以及某些业务逻辑需要、程序运行的内部逻辑等等。举例来说,当ERP单据未保存时,审核菜单项的控件便不会启用,使得用户无法点击。
传统的控件状态控制方式是在控件操作代码中添加判断逻辑和控制逻辑,并由控件的操作事件触发判断。例如在保存按钮点击事件发生后,判断单据状态为已保存,可以进行审核操作,进而将审核菜单项设置为启用。
因此,如何在减少控件设计的复杂度的前提之下,更实时的更新控件的状态,亦成为当前相关领域亟需改进的目标。
发明内容
因此,本发明的一方面是在提供一种判断控件状态的方法,用以在控件的界面数据或程序状态有改变时,触发对应的控件状态判断器进行控件状态的判断。判断控件状态的方法包含以下步骤:通过一电子装置的一显示组件,提供一应用界面。其中,应用界面包含至少一控件,且控件对应至少一界面数据或程序状态。持续监控界面数据或程序状态是否改变。在监控到界面数据或程序状态有改变时,触发控件对应的至少一控件状态判断器,借此使控件状态判断器判断控件状态。根据控件状态判断器的一判断结果,更新显示组件上所显示的控件的状态。
应用本发明具有下列优点:
使用状态判断器定义控件状态判断的逻辑,而不是分别在各个控件的操作逻辑中控制,使系统更易于维护和扩展。
一个控件可以对应多个状态判断装置,一个状态判断装置也可应用于多个控件,每个装置的职责单一、逻辑互相分离,易于复用。
可以使用配置定义控件结构,使用脚本定义控件状态的判断逻辑,降低了开发门槛,提升了开发效率。
不仅可以使用脚本,对于复杂业务逻辑,可编写代码定义控件状态判断器,扩大了本方法的适用范围,提高了可扩展性和灵活性。在运行时由后台线程统一管理控件状态判断器,不会造成界面响应迟缓,使用户操作体验更顺畅。
附图说明
为让本发明的上述和其它目的、特征、优点与实施例能更明显易懂,所附附图的说明如下:
图1是依照本发明一实施例的一种判断控件状态的方法的流程图。
【主要组件符号说明】
100:判断控件状态的方法
110-150:步骤
具体实施方式
以下将以附图及详细说明本发明的精神,任何所属技术领域中具有通常知识者在了解本发明的较佳实施例后,当可由本发明所教示的技术加以改变及修饰,其并不脱离本发明的精神与范围。
请参照图1,其是依照本发明一实施例的一种判断控件状态的方法的流程图。在判断控件状态的方法中,在界面数据或程序状态有改变时,触发对应的控件状态判断器进行控件状态的判断。判断控件状态的方法可经由计算机程序来进行实作。计算机程序可储存于一计算机可读取记录媒体中,而使计算机读取此记录媒体后执行此判断控件状态的方法。计算机可读取记录媒体可为只读存储器、闪存、软盘、硬盘、光盘、随身碟、磁带、可由网络存取的数据库或熟悉此技艺者可轻易思及具有相同功能的计算机可读取记录媒体。
判断控件状态的方法100包含以下步骤:
在步骤110中,通过一电子装置的一显示组件,提供一应用界面。其中,应用界面包含至少一控件,且控件对应至少一界面数据或程序状态。电子装置可为计算机、服务器、智能移动终端设备或其它类型具有显示组件的电子装置。应用界面可为操作系统的窗体上的菜单项(menuitem)、工具栏按钮(toolbar button)或其它类型具有控件的应用界面。
在步骤120中,持续监控控件对应的界面数据或程序状态是否改变。
在监控到界面数据或程序状态有改变时,触发控件对应的至少一控件状态判断器(步骤130),借此使对应的控件状态判断器判断控件的状态(步骤140)。
在步骤150中,根据控件状态判断器的一判断结果,更新显示组件上所显示的控件的状态。控件状态为控件的启用状态或可见状态。
在本发明的一些实施例中,控件可以对应多个不同的控件状态判断器。因此,触发控件对应的控件状态判断器(步骤130)的一实施例可包含以下步骤:在控件对应的控件状态判断器的数量为多个时,根据控件状态判断器的一遍历顺序,依序触发各个控件状态判断器进行判断。在控件状态判断器的其中之一判断控件为不启用或不可见时,即刻更新显示组件上所显示的控件的启用状态或可见状态并停止触发其余控件状态判断器。如此一来,可在遍历顺序中优先级较高的控件状态判断器判断不可启用或不可见时,即停止触发其余控件状态判断器,应而可节省电子装置的运算能力。
在本发明的一些实施例中,控件对应的至少一控件状态判断器可选自数个控件状态判断器。控件状态判断器中定义了在界面数据或程序状态满足一条件时,更新控件状态的逻辑。控件状态判断器按照类别可分为权限状态判断器、脚本状态判断器或其它类型的控件状态判断器。不同控件状态判断器的判断逻辑互相分离。其中,控件对应的数个控件状态判断器包含一权限状态判断器时,可将权限状态判断器设为遍历顺序中的最高优先级。也就是说,一旦权限状态判断器判断控件为不启用或不可见时,即刻更新显示组件上所显示的控件的启用状态或可见状态并停止触发其余控件状态判断器。
在本发明的一些实施例中,可在通过显示组件,提供应用界面的控件(步骤110)时,将控件对应的控件状态判断器加载电子装置的一内存。在有多个控件对应到相同的控件状态判断器时,可用电子装置的内存中所加载的同一控件状态判断器,负责多个控件的状态判断,而不是创建多份状态判断器,因而可节省加载所需的内存空间,避免多份相同状态判断器带来的运算能力浪费。
在本发明的一些实施例中,判断控件状态的方法100还可包含以下步骤:于应用界面创建控件。自数个控件状态判断器选择控件对应的控件状态判断器。将控件与其对应的控件状态判断器绑定。于是,在绑定后,即可继续执行步骤110至步骤150。
在本发明的另一些实施例中,判断控件状态的方法100还可包含以下步骤:在一配置中定义控件的结构。根据控件结构中的一控件对应的一脚本内容,自动创建一脚本类型的控件状态判断器,并将该控件状态判断器与至少一控件绑定,此一脚本内容即控件状态判断器的判断控件状态的逻辑。换言之,可将控件状态判断器对应的脚本内容,嵌入至控件结构中,作为控件状态判断器绑定的依据。其中,可使用可扩展标记语言(ExtensibleMarkup Language,XML)或其它结构化的程序语言,定义控件的控件结构。
在本发明的又一些实施例中,电子装置通过后台线程管理控件状态判断器,且电子装置通过主线程于显示组件,提供应用界面。如此一来,电子装置的使用者不会感受到显示组件上应用界面的操作有任何的迟缓,同时亦可使得控件状态改变更实时。
此外,控件状态判断器的判断逻辑独立于控件操作逻辑之外。如此一来,在控件状态判断器执行判断的同时,不会影响到控件的操作。
应用本发明具有下列优点。
使用状态判断器定义控件状态判断的逻辑,而不是分别在各个控件的操作逻辑中控制,使系统更易于维护和扩展。
一个控件可以对应多个控件状态判断器,一个状态判断装置也可应用于多个控件,每个装置的职责单一、逻辑互相分离,易于复用。
可以使用配置定义控件结构,使用脚本定义控件状态的判断逻辑,降低了开发门槛,提升了开发效率。
不仅可以使用脚本,对于复杂业务逻辑,可编写代码定义控件状态判断器,扩大了本装置的适用范围,提高了可扩展性和灵活性。
在运行时由后台线程统一管理控件状态判断器,不会造成界面响应迟缓,使用户操作体验更顺畅。
虽然本发明已以实施方式揭露如上,然其并非用以限定本发明,任何熟悉此技艺者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。举例来说,以上所述的平行或垂直可容许一定范围的误差,并不限于本说明书。因此,本发明的保护范围当视所附的权利要求书所界定的范围为准。
Claims (9)
1.一种判断控件状态的方法,其特征在于,包含:
通过一电子装置的一显示组件,提供一应用界面,其中该应用界面包含至少一控件,将该至少一控件与至少一控件状态判断器绑定,其中该至少一控件状态判断器的判断逻辑独立于控件操作逻辑之外,且该至少一控件对应至少一界面数据或程序状态;
持续监控该至少一界面数据或程序状态是否改变;
在监控到该至少一界面数据或程序状态有改变时,触发该至少一控件对应的至少一控件状态判断器,借此使该至少一控件状态判断器判断该至少一控件的状态;以及
根据该至少一控件状态判断器的一判断结果,更新该显示组件上所显示的该至少一状态。
2.根据权利要求1所述的判断控件状态的方法,其特征在于,触发该至少一控件对应的该至少一控件状态判断器的步骤包含:
在该至少一控件对应的该至少一控件状态判断器的数量为多个时,根据所述多个控件状态判断器的一遍历顺序,依序触发所述多个控件状态判断器进行判断;以及
在所述多个控件状态判断器的其中之一判断该至少一控件的该状态为一特定状态时,更新该显示组件上所显示的该至少一控件的状态并停止触发其余控件状态判断器。
3.根据权利要求2所述的判断控件状态的方法,其特征在于,该特定状态为不启用或不可见。
4.根据权利要求2所述的判断控件状态的方法,其特征在于,该遍历顺序指按照所述多个控件状态判断器的优先级从高到低。
5.根据权利要求1所述的判断控件状态的方法,其特征在于,该至少一控件状态为控件的启用状态或可见状态。
6.根据权利要求1所述的判断控件状态的方法,其特征在于,还包含:
于该应用界面创建该至少一控件;以及
自多个控件状态判断器选择该至少一控件对应的该至少一控件状态判断器。
7.根据权利要求1所述的判断控件状态的方法,其特征在于,还包含:
在一配置中定义一控件结构;
根据该控件结构中的至少一控件对应的一脚本内容,自动创建一控件状态判断器;以及
将该一控件状态判断器与该至少一控件绑定。
8.根据权利要求1所述的判断控件状态的方法,其特征在于,该电子装置通过一后台线程管理该至少一控件状态判断器,且该电子装置通过主线程于该显示组件,提供该应用界面。
9.根据权利要求1所述的判断控件状态的方法,其特征在于,该至少一控件为一菜单项或一工具栏按钮。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210593531.7A CN103914288B (zh) | 2012-12-31 | 2012-12-31 | 判断控件状态的方法 |
TW102146410A TWI517020B (zh) | 2012-12-31 | 2013-12-16 | 判斷控制項狀態的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210593531.7A CN103914288B (zh) | 2012-12-31 | 2012-12-31 | 判断控件状态的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103914288A CN103914288A (zh) | 2014-07-09 |
CN103914288B true CN103914288B (zh) | 2017-06-06 |
Family
ID=51039995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210593531.7A Active CN103914288B (zh) | 2012-12-31 | 2012-12-31 | 判断控件状态的方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103914288B (zh) |
TW (1) | TWI517020B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897081A (zh) * | 2015-12-18 | 2017-06-27 | 中兴通讯股份有限公司 | 应用的引导方法及装置、终端 |
CN107515821B (zh) * | 2016-06-17 | 2021-08-31 | 百度在线网络技术(北京)有限公司 | 控件测试方法和装置 |
CN106484409A (zh) * | 2016-09-28 | 2017-03-08 | 乐视控股(北京)有限公司 | 一种页面控件管理方法及装置 |
CN108228207B (zh) * | 2016-12-22 | 2021-06-04 | 珠海金山办公软件有限公司 | 控件状态更新方法及装置 |
CN107092507B (zh) * | 2017-04-18 | 2020-12-18 | 杭州云永网络科技有限公司 | 应用程序的换肤方法、装置及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1886795A (zh) * | 2003-12-04 | 2006-12-27 | 汤姆森许可贸易公司 | 用于产生交互式菜单的方法 |
CN101046745A (zh) * | 2007-03-23 | 2007-10-03 | 北京中星微电子有限公司 | 控制界面上控件之间关系的方法、装置及控件显示系统 |
TW200947252A (en) * | 2008-04-06 | 2009-11-16 | Taser International Inc | Systems and methods for incident recording |
-
2012
- 2012-12-31 CN CN201210593531.7A patent/CN103914288B/zh active Active
-
2013
- 2013-12-16 TW TW102146410A patent/TWI517020B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1886795A (zh) * | 2003-12-04 | 2006-12-27 | 汤姆森许可贸易公司 | 用于产生交互式菜单的方法 |
CN101046745A (zh) * | 2007-03-23 | 2007-10-03 | 北京中星微电子有限公司 | 控制界面上控件之间关系的方法、装置及控件显示系统 |
TW200947252A (en) * | 2008-04-06 | 2009-11-16 | Taser International Inc | Systems and methods for incident recording |
Non-Patent Citations (1)
Title |
---|
基于Windows服务的电脑使用及上网监控软件的设计与实现;唐军;《中国优秀硕士学位论文全文数据库信息科技辑》;20120215(第02期);第22页图3-3,第24页第1-24行 * |
Also Published As
Publication number | Publication date |
---|---|
TW201426494A (zh) | 2014-07-01 |
CN103914288A (zh) | 2014-07-09 |
TWI517020B (zh) | 2016-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109445842A (zh) | 规则生成方法、装置、计算机设备和存储介质 | |
CN103914288B (zh) | 判断控件状态的方法 | |
CN104317610B (zh) | 一种hadoop平台自动安装部署的方法及装置 | |
CN104991763B (zh) | 一种通用的游戏界面行为控制系统 | |
CN103019791B (zh) | 软件部署方法及软件部署系统 | |
CN104461858B (zh) | 软件兼容性预先测试方法与其系统 | |
CN104484169B (zh) | 一种Android软件用户界面生成方法、系统及应用系统 | |
CN102693127B (zh) | 用于描述并执行图形用户界面中的管理任务的数据驱动模式 | |
CN101393535B (zh) | 将运行时事件与组件相关联的方法和系统 | |
CN102622210B (zh) | 一种显示帮助信息的方法和装置 | |
JP2009540461A (ja) | 宣言型管理フレームワーク(declarativemanagementframework) | |
CN103984626B (zh) | 一种生成测试用例脚本的方法及装置 | |
CN102449598A (zh) | 程序包设计和生成 | |
CN109840206A (zh) | 数据测试方法、装置、终端及存储介质 | |
CN103631712B (zh) | 一种基于内存管理的模式化软件关键行为跟踪方法 | |
CN103714290A (zh) | 一种软件行为获取、监控与验证方法 | |
CN104462612A (zh) | 一种监控数据库信息的方法和设备 | |
CN108205454A (zh) | 基于可扩展模板库的数据管理页面自动生成方法及系统 | |
CN102054041B (zh) | 元数据升级方法和系统 | |
CN103617167A (zh) | 一种通用的元数据/关系映射框架 | |
CN108874649A (zh) | 自动化测试脚本的生成方法、装置及其计算机设备 | |
CN103995717B (zh) | 一种嵌入式设备软件升级的方法 | |
CN103309696B (zh) | 一种Java卡扩展库更新方法、装置和Java卡 | |
CN103049374A (zh) | 一种自动化测试的方法及装置 | |
CN105988863A (zh) | 一种处理事件的方法及装置 |
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 |