判断控件状态的方法技术

技术编号:10208962 阅读:180 留言:0更新日期:2014-07-12 13:03
本发明专利技术揭露一种判断控件状态的方法,包含以下步骤:通过一电子装置的一显示组件,提供一应用界面。其中,应用界面包含至少一控件,且控件对应至少一界面数据或程序状态。持续监控界面数据或程序状态是否改变。在监控到界面数据或程序状态有改变时,触发控件对应的至少一控件状态判断装置,借此使控件状态判断器判断控件状态。根据控件状态判断器的一判断结果,更新显示组件上所显示的控件的状态。

【技术实现步骤摘要】
判断控件状态的方法
本专利技术是有关于一种判断控件状态的方法,且特别是有关于一种在界面数据或程序状态改变时触发控件状态判断的判断控件状态的方法。
技术介绍
丰富的界面元素被应用在微软窗口操作系统(MicrosoftWindows)的窗体以及智能移动终端设备的应用接口上。其中,大部分的界面元素被使用作为控件(Control)。在操作的过程中,控件的状态常需被改变,以方便在接口上进行操作和使用。最常见的控件状态改变是对菜单项(menuitem)和工具栏按钮(toolbarbutton)是否启用的控制。在界面操作过程中,菜单项和工具栏按钮是否启用由多种因素决定,例如:是否具备权限、使用场景以及某些业务逻辑需要、程序运行的内部逻辑等等。举例来说,当ERP单据未保存时,审核菜单项的控件便不会启用,使得用户无法点击。传统的控件状态控制方式是在控件操作代码中添加判断逻辑和控制逻辑,并由控件的操作事件触发判断。例如在保存按钮点击事件发生后,判断单据状态为已保存,可以进行审核操作,进而将审核菜单项设置为启用。因此,如何在减少控件设计的复杂度的前提之下,更实时的更新控件的状态,亦成为当前相关领域亟需改进的目标。
技术实现思路
因此,本专利技术的一方面是在提供一种判断控件状态的方法,用以在控件的界面数据或程序状态有改变时,触发对应的控件状态判断器进行控件状态的判断。判断控件状态的方法包含以下步骤:通过一电子装置的一显示组件,提供一应用界面。其中,应用界面包含至少一控件,且控件对应至少一界面数据或程序状态。持续监控界面数据或程序状态是否改变。在监控到界面数据或程序状态有改变时,触发控件对应的至少一控件状态判断器,借此使控件状态判断器判断控件状态。根据控件状态判断器的一判断结果,更新显示组件上所显示的控件的状态。应用本专利技术具有下列优点:使用状态判断器定义控件状态判断的逻辑,而不是分别在各个控件的操作逻辑中控制,使系统更易于维护和扩展。一个控件可以对应多个状态判断装置,一个状态判断装置也可应用于多个控件,每个装置的职责单一、逻辑互相分离,易于复用。可以使用配置定义控件结构,使用脚本定义控件状态的判断逻辑,降低了开发门槛,提升了开发效率。不仅可以使用脚本,对于复杂业务逻辑,可编写代码定义控件状态判断器,扩大了本方法的适用范围,提高了可扩展性和灵活性。在运行时由后台线程统一管理控件状态判断器,不会造成界面响应迟缓,使用户操作体验更顺畅。附图说明为让本专利技术的上述和其它目的、特征、优点与实施例能更明显易懂,所附附图的说明如下:图1是依照本专利技术一实施例的一种判断控件状态的方法的流程图。【主要组件符号说明】100:判断控件状态的方法110-150:步骤具体实施方式以下将以附图及详细说明本专利技术的精神,任何所属
中具有通常知识者在了解本专利技术的较佳实施例后,当可由本专利技术所教示的技术加以改变及修饰,其并不脱离本专利技术的精神与范围。请参照图1,其是依照本专利技术一实施例的一种判断控件状态的方法的流程图。在判断控件状态的方法中,在界面数据或程序状态有改变时,触发对应的控件状态判断器进行控件状态的判断。判断控件状态的方法可经由计算机程序来进行实作。计算机程序可储存于一计算机可读取记录媒体中,而使计算机读取此记录媒体后执行此判断控件状态的方法。计算机可读取记录媒体可为只读存储器、闪存、软盘、硬盘、光盘、随身碟、磁带、可由网络存取的数据库或熟悉此技艺者可轻易思及具有相同功能的计算机可读取记录媒体。判断控件状态的方法100包含以下步骤:在步骤110中,通过一电子装置的一显示组件,提供一应用界面。其中,应用界面包含至少一控件,且控件对应至少一界面数据或程序状态。电子装置可为计算机、服务器、智能移动终端设备或其它类型具有显示组件的电子装置。应用界面可为操作系统的窗体上的菜单项(menuitem)、工具栏按钮(toolbarbutton)或其它类型具有控件的应用界面。在步骤120中,持续监控控件对应的界面数据或程序状态是否改变。在监控到界面数据或程序状态有改变时,触发控件对应的至少一控件状态判断器(步骤130),借此使对应的控件状态判断器判断控件的状态(步骤140)。在步骤150中,根据控件状态判断器的一判断结果,更新显示组件上所显示的控件的状态。控件状态为控件的启用状态或可见状态。在本专利技术的一些实施例中,控件可以对应多个不同的控件状态判断器。因此,触发控件对应的控件状态判断器(步骤130)的一实施例可包含以下步骤:在控件对应的控件状态判断器的数量为多个时,根据控件状态判断器的一遍历顺序,依序触发各个控件状态判断器进行判断。在控件状态判断器的其中之一判断控件为不启用或不可见时,即刻更新显示组件上所显示的控件的启用状态或可见状态并停止触发其余控件状态判断器。如此一来,可在遍历顺序中优先级较高的控件状态判断器判断不可启用或不可见时,即停止触发其余控件状态判断器,应而可节省电子装置的运算能力。在本专利技术的一些实施例中,控件对应的至少一控件状态判断器可选自数个控件状态判断器。控件状态判断器中定义了在界面数据或程序状态满足一条件时,更新控件状态的逻辑。控件状态判断器按照类别可分为权限状态判断器、脚本状态判断器或其它类型的控件状态判断器。不同控件状态判断器的判断逻辑互相分离。其中,控件对应的数个控件状态判断器包含一权限状态判断器时,可将权限状态判断器设为遍历顺序中的最高优先级。也就是说,一旦权限状态判断器判断控件为不启用或不可见时,即刻更新显示组件上所显示的控件的启用状态或可见状态并停止触发其余控件状态判断器。在本专利技术的一些实施例中,可在通过显示组件,提供应用界面的控件(步骤110)时,将控件对应的控件状态判断器加载电子装置的一内存。在有多个控件对应到相同的控件状态判断器时,可用电子装置的内存中所加载的同一控件状态判断器,负责多个控件的状态判断,而不是创建多份状态判断器,因而可节省加载所需的内存空间,避免多份相同状态判断器带来的运算能力浪费。在本专利技术的一些实施例中,判断控件状态的方法100还可包含以下步骤:于应用界面创建控件。自数个控件状态判断器选择控件对应的控件状态判断器。将控件与其对应的控件状态判断器绑定。于是,在绑定后,即可继续执行步骤110至步骤150。在本专利技术的另一些实施例中,判断控件状态的方法100还可包含以下步骤:在一配置中定义控件的结构。根据控件结构中的一控件对应的一脚本内容,自动创建一脚本类型的控件状态判断器,并将该控件状态判断器与至少一控件绑定,此一脚本内容即控件状态判断器的判断控件状态的逻辑。换言之,可将控件状态判断器对应的脚本内容,嵌入至控件结构中,作为控件状态判断器绑定的依据。其中,可使用可扩展标记语言(ExtensibleMarkupLanguage,XML)或其它结构化的程序语言,定义控件的控件结构。在本专利技术的又一些实施例中,电子装置通过后台线程管理控件状态判断器,且电子装置通过主线程于显示组件,提供应用界面。如此一来,电子装置的使用者不会感受到显示组件上应用界面的操作有任何的迟缓,同时亦可使得控件状态改变更实时。此外,控件状态判断器的判断逻辑独立于控件操作逻辑之外。如此一来,在控件状态判断器执行判断的同时,不会影响到控件的操作。应用本专利技术具有下列本文档来自技高网
...
判断控件状态的方法

【技术保护点】
一种判断控件状态的方法,其特征在于,包含:通过一电子装置的一显示组件,提供一应用界面,其中该应用界面包含至少一控件,且该至少一控件对应至少一界面数据或程序状态;持续监控该至少一界面数据或程序状态是否改变;在监控到该至少一界面数据或程序状态有改变时,触发该至少一控件对应的至少一控件状态判断器,借此使该至少一控件状态判断器判断该至少一控件的状态;以及根据该至少一控件状态判断器的一判断结果,更新该显示组件上所显示的该至少一状态。

【技术特征摘要】
1.一种判断控件状态的方法,其特征在于,包含:通过一电子装置的一显示组件,提供一应用界面,其中该应用界面包含至少一控件,将该至少一控件与至少一控件状态判断器绑定,其中该至少一控件状态判断器的判断逻辑独立于控件操作逻辑之外,且该至少一控件对应至少一界面数据或程序状态;持续监控该至少一界面数据或程序状态是否改变;在监控到该至少一界面数据或程序状态有改变时,触发该至少一控件对应的至少一控件状态判断器,借此使该至少一控件状态判断器判断该至少一控件的状态;以及根据该至少一控件状态判断器的一判断结果,更新该显示组件上所显示的该至少一状态。2.根据权利要求1所述的判断控件状态的方法,其特征在于,触发该至少一控件对应的该至少一控件状态判断器的步骤包含:在该至少一控件对应的该至少一控件状态判断器的数量为多个时,根据所述多个控件状态判断器的一遍历顺序,依序触发所述多个控件状态判断器进行判断;以及在所述多个控件状态判断器的其中之一判断该至少一控件的该状态为一特定状态时,更新该显示组件上所显示的该至少一控件的状态并停止触发其余控件状态判...

【专利技术属性】
技术研发人员:孙海林
申请(专利权)人:鼎捷软件股份有限公司
类型:发明
国别省市:上海;31

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

1