在计算机显示屏上醒目地显示窗口的方法和装置的制作方法

文档序号:6406761阅读:220来源:国知局
专利名称:在计算机显示屏上醒目地显示窗口的方法和装置的制作方法
技术领域
本发明涉及数据处理领域,特别是涉及计算机显示屏上的窗口显示。
与本专利申请有关的是美国共同未决申请第07,811,548号,名称为“用于计算机显示屏上按比例显示窗口的方法和装置”,该申请与本申请共同转让并在同一天递交,这里引用作为对比文件。
应用被称为“图表用户接口”的计算机系统首先通过APPLE机推向市场,之后,被Microsoft的“窗口”程序以及IBM的OS/2和PresentationManager采用,这些都是很新的技术。这些图形用户接口系统的一个共同特点是在计算机显示屏上同时出现多个窗口或视见区。在显示于计算机显示屏的每个窗口中可以同时运行不同的应用程序(或等待用户输入不同的应用程度)。此外,单个应用程序可以产生许多不同的窗口。用户可以用一个鼠标器或其它输入设备在不同的窗口之间来回移动,从而完成不同的任务。
这些图形用户接口系统比起较传统的操作系统例如DOS(一次只能运行和显示一个应用程序)来说具有许多优点,但同时也给用户带来了新的问题。图形用户接口系统能在一个计算机屏幕上出现几乎无数的窗口,但是并不意味着在一个计算机屏幕上能显示这些几乎无数的窗口而使用户看得到。事实上,大量的这些窗口极有可能被其它窗口部分地或全部地遮挡。当然这种问题在少到只有两个窗口时也会出现,但是当采用许多窗口时,问题将更为严重。
当一些窗口被部分地或全部地遮挡时,由于用户不能在不付出极大努力的情况下找到许多窗口,所以要想在各种不同的窗口之间来回顺利地移动,对用户来说实在是件非常困难的事。图形用户接口的这种问题限制了不同任务或应用程序的数量,从而不能真正达到使用这种系统的目的,而这些不同的任务或应用程序实际上是通过窗口同时采用和显示或换句话说同时出现的。
本发明的主要目的是提高图形用户接口系统的工作性能。
本发明的另一个目的是提供一种更有效的途径,使用户能找到部分地和全部地遮挡的窗口。
本发明的再一个目的是在计算机显示屏上提供醒目的显示窗口,以便帮助用户找到部分地和全部地遮挡的窗口。
这些目的以及其它目的是通过此处公开的在计算机显示屏上醒目地显示窗口的方法和装置来实现的。
公开了一种在计算机显示屏上醒目地显示窗口的方法和装置。监测每个出现在显示屏上的起作用(也叫“聚焦”)窗口的持续时间。当接收到用户发出的一条指令时,起作用时间长的窗口比起作用时间短的窗口更醒目地显示出来。可以通过许多不同的途径来更醒目地显示起作用的窗口。一种途径是将起作用时间最长的窗口放在屏幕的左上角,而将其余的窗口按照起作用时间长短的递减顺序从左到右、从上到下地放在屏幕上。另一种途径是将窗口分级,其中按照起作用时间的递减顺序,将窗口栈窗口从前往后分级。还有一种途径是产生与每个窗口相关的窗口名称表格,按照起作用时间的递减顺序,从表格的上方向下方排列。还有一种醒目地显示起作用时间较长的窗口的途径,这就是将起作用时间最长的窗口聚焦,然后将聚焦的其余窗口按照起作用时间的递减顺序放在窗口的触发序列中。


图1表示本发明的计算机系统的框图。
图2A表示用户在计算机上工作了几分钟或几小时后窗口是如何显示的。
图2B~2E表示可以醒目地显示起作用时间较长的窗口的不同途径。
图3A表示本发明的控制数据。
图3B表示本发明的窗口数据。
图4表示本发明的用于用户调整参数的典型屏幕。
图5~10表示本发明的流程图。
图1表示本发明的计算机系统10的框图。计算机系统10具有显示器17、键盘18和输入设备19,每一部分都与系统单元11相连。处理机12适当编程,以实现本发明,如在图5~10中的流程图中更详细地描述的那样。存储器14和存储器13包括控制数据30和窗口数据40。
在最佳实施例中,计算机系统10是IBMPS/2,其中处理机12是Intel80386微处理机。显示适配器15是IBM8513显示适配器,显示器17是IBM8513显示器。输入设备19最好是IBM鼠标器,但也可以是转球式光标指示器,光笔,或其它输入设备。磁盘14包括操作系统软件,最好是带有PresentationManager的OS/2,但也可选择MicrosoftWindows3.0,以及一个或多个OS/2应用程序,比如用于PresentationManager的WordPerfect,或者选择DOS应用程序,比如用于Windows的MicrosoftWord。当运行时,这些程序部分地或全部地装入存储器13,并由处理机12执行。
计算机系统10也可以是其它类型的,如果它是其它类型的微型计算机,如AppleMacintosh,小型计算机,如IBMAS/400,或主机计算机,如IBM390,该系统仍旧在本发明的精神和范围之内。此外,计算机系统10可以是一台如上所述的微型计算机,与较大的计算机系统如IBMAS/400相连。
显示器17包括窗口21~26。为了达到本发明的目的,一个“窗口”或视见区可以占据大到基本上整个屏幕、小到显示屏任一部分,并且可以与在多任务环境如OS/2或单任务环境如DOS中的其它窗口一起显示。随着窗口数目的增加,极可能有许多窗口将部分地或全部地被其它窗口遮挡,如图1中的显示器17所示。
图2A更详细地画出了图1中显示器17上的窗口21~26。图2A表示在用户操作计算机几分钟或几小时后,可能看到的典型的显示屏。特别是我们的用户正在用计算机计划年终税额。当显示六个窗口时,一个至多个窗口的任何部分都能出现在显示屏上。请注意,窗口25的边缘比其余窗口的边缘都要深,并且没有被任何其它的窗口遮盖。这向用户表明,窗口25是起作用的窗口,或叫作“聚焦”窗口。当一个窗口“聚焦”时,用户可以输入或利用包括在那个窗口中的数据。
窗口21、22、23、24、和26至少部分地被其它窗口遮挡。窗口22全部被遮挡。窗口24和26几乎全部被遮挡,如果这些窗口中有数据的话,也只有很少量的能显现在用户面前。
我们虚构的用户TammyTaxpayer在圣诞节前夕(她八月份就完成了圣诞商品的采购任务)的一个星期六上午,一大早就起来计划她的年终税额。Tammy同时使用几个应用程序帮助她计划税额。Tammy有Excel和Lotus的展开图表数据,包括WordPerfect的IRS字母和会计摘要,在Quicken上有她的财务信息,并使她的税额数据进入TurboTax。她还使用称作FileManager的OS/2应用程序,它帮助Tammy管理OS/2的文件目录和其它方面。
Tammy不断变换窗口,这是她所喜欢的PresentationManager的一个特点,她刚刚花了一些时间利用窗口25中的数据(即使用Lotusl-2-3的一幅展开图表)。但是现在Tammy想返回上午一直在用的程序Quicken。Tammy快速查看显示屏,发现要找到包括Quicken的窗口是不容易的。她能够看到窗口21、23和25,知道这些窗口不包括Quicken。但是Quicken可能包含在部分被遮挡的窗口24或26中,或全部被遮挡的窗口22中。Tammy可以尝试查看每个窗口(通过在被遮挡的窗口上移动鼠标指针并按下鼠标器钮使该窗口起作用),但是这种技术相当麻烦,当屏幕上有许多窗口或当一个或多个窗口全部被遮挡时,这种技术就不起作用了。
幸运的是,Tammy的计算机系统是本发明的计算机系统10。因此,通过按下几个预先确定的键或键序列(即鼠标器钮序列的组合)中的一个键,或通过选择菜单中的一个项目,采用本发明的几个窗口显示模式中的一个模式,Tammy就能够快速找到她的Quicken窗口。如后面所要更详细地讨论的那样,对计算机系统10中的处理机12进行适当编程,使其执行图5~10的流程,它就能监测每个出现在显示屏上的起作用(也叫“聚焦”)窗口的持续时间。当Tammy选择了一个窗口显示模式,那么聚焦时间较长的窗口就比聚焦时间较短的窗口要更醒目地显示出来。实际上,更醒目地显示起作用窗口取决于所选择的窗口显示模式。
如果Tammy选择称作“从左到右”的窗口显示模式的键序列,那么显示屏17如图2B所示。计算机系统10从Tammy今天开始使用计算机起,一直监视她的使用情况,知道所使用窗口的频繁程度,使用次数从最多到最少按以下次序排列TurboTax,Quicken,Excel,WordPerfect,Lotus,以及FileManager。因此,当Tammy选择了从左到右的窗口显示模式时,TurboTax位于显示屏的左上角,接下来是Quicken和Excel。WordPerfect,Lotus和FileManager在TurboTax,Quicken和Excel下面的第二排中从左到右地顺序排列。现在Tammy能够迅速地找到Quicken,因为它没有被遮挡,并处于屏幕上第二醒目的位置。现在她就可以将鼠标移到窗口22,使其聚焦,如果需要再将它放大,并开始用它进行工作。
受到讲英语国家的文化传统的影响,可能认为图2B所示的从左到右、从上到下的窗口排列方式是表示所要求的醒目等级的最佳方式,而在其它文化传统下,可能更喜欢用另外的排列方式,比如从右到左、从上到下,从上到下、从左到右,或从上到下、从右到左。以后将会看到,本最佳实施例可做少量修改,以适应文化传统和个人习惯之间的差异。
如果Tammy选择称作“分级”的窗口显示模式的键序列,那么显示屏17如图2C所示。跟以前一样,计算机系统10从Tammy今天开始使用计算机起,一直监视她的使用情况,知道所使用窗口的频繁程度,使用次数从最多到最少按以下次序排列TurboTax,Quicken,Excel,WordPerfect,Lotus,以及FileManager。因此,当Tammy选择了分级的窗口显示模式时,TurboTax位于窗口栈前面的最醒目位置上,接下来是Quicken,Excel,WordPerfect,Lotus,以及FileManager。请注意,这时只有TurboTax未被遮挡。其余窗口只有它们的标题是可见的,而其它部分均被遮挡。能够看到所有窗口的标题一般足以使用户能迅速找到搜寻的窗口,特别是当这些窗口按使用的频繁程度排列时。
如果Tammy选择称作“窗口目录”的窗口显示模式的键序列,那么显示屏17如图2D所示。这种模式显示一个新的窗口,它包括当前出现在显示屏上的所有窗口标题(不管对用户来说这些窗口是否看得见)。窗口目录中的标题按使用的频繁程度,从上到下顺序排列。在我们的实例中,Tammy可以移动鼠标到标题“Quicken”并按下鼠标器钮,将Quicken窗口移到前面来,使其聚焦,于是她就可以使用该窗口。
如果Tammy反复选择称作“触发”的窗口显示模式的键序列,那么显示屏17如图2E-1至2E-6所示。当第一次选择触发键序列时,最起作用的窗口(在我们的例子中是TurboTax)跳到最前面并聚焦。当再次选择触发键序列时第二起作用的窗口(Quicken)跳到最前面并聚焦。由于这个窗口正是Tammy所寻找的,所以她就停止按动触发键序列,继而开始利用Quicken工作;否则她便继续按动触发键序列,使其余窗口按使用的频繁程度依次聚焦。如果在使用次数最少的窗口聚焦之后按下触发键序列,那么窗口显示模式返回显示使用次数最多的窗口,并使其聚焦。
图3A更详细地表示图1的控制数据30。在最佳实施例中,控制数据30存在存储器14中,并读到存储器13中,这在以后将会讨论。控制数据30包括根据图5~10的流程使用和更新的信息,以便实现本发明的窗口计时功能。
ON/OFF标记31始终监视本发明的窗口计时功能是处在“ON”状态还是处在“OFF”状态。计时器32始终监视当前系统计时器的值。在最佳实施例中,计时器32有九位数值,表示自计时器启动或复位以来经历的时间(由取样速率33确定)。暂停标记34始终监视窗口计时功能是否已经暂停,这在以后要更详细地进行讨论。当前触发索引标记35用于图2E所示的窗口触发模式。终结事件标记36用来监视用户的行动。该数据用来对这种情形进行检查,即一个窗口聚焦了很长一段时间,但用户并没有进行任何操作(比如在喝咖啡等时出现的情况),那么在经历特定的待机超时期间自动暂停窗口计时功能。待机超时标记37包括特定的待机超时。存储标记38始终监视用户是否打算存储窗口数据40。
图3B更详细地表示图1的窗口数据40。在最佳实施例中,用户可随意将窗口数据40存在存储器14中,并读到存储器13中,这在以后将会讨论。窗口数据40包括根据图5~10的流程使用和更新的信息,以便实现本发明的窗口计时功能。窗口数据40按栏目41~43形式列出。当本发明的窗口计时功能处于ON状态时,某一时刻起作用的每个窗口都包含在存储器13内的窗口数据40中。栏目41包括窗口的标题或其它标识符。栏目42包括计时器32的值,记下了被聚焦的每个窗口的终结时间。栏目43包括窗口数据40中每个被聚焦窗口的全部时间周期。
图4表示窗口计时功能参数。这些参数通常被分配作为错误值,但是当需要做可能的修改时,它们就能够出现在用户面前。第一参数询问窗口计时功能在ON的状态还是在OFF的状态。可能存在这种情况,即用户倾向于在较常规方式下的窗口操作。下一个参数是取样速率,它使用户能控制窗口计时功能的量化度。
下一个参数表示待用超时。下一个参数询问用户是否想暂停窗口计时。该参数可以通过图4所示的屏幕进行选择,也可以按下特定的键序列,使其处于“是”或“否”的状态。该参数对于减小洗澡或其它打扰造成的影响是非常有用的。下一个参数询问在当前使用计算机期间产生的窗口数据40是否要进行存储,以供下一次使用。如果是的话,在关闭窗口时将窗口数据40从存储器13取出,写入存储器14。最后一个参数询问是否要对窗口计数复位。在使用计算机的过程中很有可能想从头开始,特别在用户现在进行的工作与之前的毫不相干的情况下更是如此。如果用户确定窗口计时应该复位,那么所有的窗口都刷新,好像在这一段时间从来没有使用过一样。
现在更详细地描述如图5~10中流程图所示的本发明的工作原理。先看图5A,在框101将存储器14的控制数据30装入存储器13。在框102对控制数据30中的计时器32、当前触发索引标记35和终结事件标记36清零。在框103启动计时器32。这一步通过开始执行图7的流程完成。现在参看图7,在框201询问是否从图5A的框198得到停止计时器的指示。如果是的话,程序在框299结束。如果不是,则在框202等候控制数据30中的取样速率33以便计时。在框205查看控制数据30中的暂停标记34是否为FALSE。如果它不是FALSE(在最佳实施例中或为TRUE,或为TRUE2),这表明窗口计时应暂停。如果用户指示想要暂停取样,或者如果待用超时终止,那么这种状况就能存在,这在以后将要更详细地进行描述。如果不是,控制流程就返回框201。如果框205指出暂停标记是FALSE,则在框208给控制数据30中的计时器32加1,表明经过了一个计时器周期。
再看图5A,在框103启动计时器之后,框110查看是否有有待处理的窗口事件。在最佳实施例中,“窗口事件”是指由PresentationManager产生的任何事件,比如使数据进入一个窗口,移动文件光标或鼠标,按动上卷棒等,以及本发明产生的事件。如果框110的回答是否定的,那么框112查看是否所有窗口已经关闭。如果是的话,则在框198停止计时器32,并且如果存储标记38为“ON”,则将控制数据30写入存储器14。这样程序在框199结束。如果框112指示所有的窗口还没有关闭,那么在框115查看控制数据30中的待用超时37是否已经经过。这时通过从计时器32中减去终结事件36,将结果乘以取样速率33,并且除以60得到的。如果这一结果大于待用超时37中的值,那么框115的回答是肯定的,并且在框118自动产生一个暂停窗口事件。在任何一种情况下,控制流程都返回框110。
当框110指示存在有待处理的窗口事件,则在框104查看这是否是一个打开窗口事件。如果是的话,则在框105查看具有同名的窗口是否已经在存储器13中。如果是的话,则在框106赋给该窗口一个新的标题(即TurboTax2)。在任何一种情况下,如果在之前的过程中存过类似的数据,并且如果存储标记38为ON,则在框107将该窗口记录从存储器14装到存储器13中。然后在框108进行通常的窗口处理。
在框121查看是否这是一个关闭窗口事件,如果是的话,则相应地从存储器13中的窗口数据40中去掉该窗口,这样当用户选择一个窗口显示模式时,它不会再出现。这一功能由框122完成。如果存储标记38为ON的话,在框122也将窗口记录写入存储器14。然后,框123进行在这种情况下的通常的窗口处理。
如果框121的回答是否定的,那么框120询问这一事件是否是一个获得聚焦的事件。在最佳实施例中,无论何时只要窗口起作用或被“聚焦”,那么PresentationManager就产生一个“获得聚焦”的事件。如果框120的回答是肯定的,则在框125寄存进入聚焦状态的该窗口。寄存过程通过图6的流程完成。
现在参照图6,在框301查看控制数据30中的ON/OFF标记31是否处于ON状态。如果不是,则程序在框399立即结束。如果该标记为ON,则在框303从控制数据30中的计时器32得到当前的时间。在框304查看窗口数据40中是否存在将要聚焦的窗口。如果不存在,则框306为窗口数据40中的该窗口产生一个新的记录。零放在聚焦栏目42和总量栏目43中。如果框304的回答是肯定的,那么框308使用与窗口数据40中将要聚焦的该窗口有关的窗口记录。
框310询问这是一个“聚焦”窗口事件还是一个“散焦”窗口事件。由于该事件是一个“聚焦”事件,所以在框315将控制数据30中计时器32的当前值放入该窗口的聚焦栏目42中,于是程序在框399结束。
再参看图5A,通过图6的流程在框125完成对进入聚焦的窗口寄存之后,框126对这种情况进行通常的窗口处理。在最佳实施例中,PresentationManager将所选择的窗口聚焦。
如果框120的回答是否定的,那么框130询问是否有散焦事件。在最佳实施例中,无论何时只要一个窗口由于另一个窗口被聚焦而不再起作用,PresentationManager就产生一个“散焦”事件,如果框130的回答是肯定的,则在框135寄存该散焦窗口。除了框310(图6)确定这是一个散焦事件,并执行框320而不是执行框315以外,如前所述,这一寄存过程也是通过图6的流程实现的。框320更新该窗口的窗口数据40的总量栏目43中的值,以便指示该窗口起作用了多长时间。从控制数据30中的计时器的当前值中减去包括在该窗口聚焦栏目42中的值,其结果加上该窗口总量栏目43中的当前值,并将和放在该窗口的总量栏目43中。
再参看图5A,通过图6的流程在框135完成对散焦的窗口寄存之后,框126对这种情况进行通常的窗口处理。在最佳实施例中,PresentationManager使中途淘汰的窗口散焦。
如果框130的回答是否定的,那么框150(图5B)查看是否已经产生了暂停窗口事件。通过图5A的框118(超时终止),或者如果用户在图4的菜单中指出计时应暂停,都能产生暂停窗口事件。如果这是由用户产生的,那么框151将控制数据30中的暂停标记34设置成TRUE。如果这是由框118产生的,那么框151将控制数据30中的暂停标记34设置成TRUE2。在任何一种情况下,都将导致独立地执行图7的流程图中的框205,使回答成为否定的,从而跳过框208。
再参看图5B,如果框150的回答是否定的,那么框155查看是否产生了一个恢复窗口事件。这一事件可以通过图10的框1050产生(超时终止,但用户现在已经进行引起一个窗口事件的操作),也可以通过用户在图4的菜单中指示计时应该恢复产生。在这两种情况下,在框156设置控制数据30中的暂停标记34为FALSE。这将导致独立地执行图7的流程图中的框205,使回答成为肯定的,从而执行框208。
再参看图5B,如果框155的回答是否定的,那么框160查看是否产生了一个复位窗口事件。这一事件可以通过用户在图4的菜单中指示计时应该复位产生。框161通过窗口数据40中的所有窗口构成回路,并且框162将聚焦栏目42和总量栏目43中的所有值置0。当窗口数据40中不再有要处理的窗口记录时,框161的回答是否定的,控制流程进入框163。
框163查看是否产生了一个存储窗口事件。如果用户改变了图4菜单中的存储参数的值,就会产生该事件。如果做了改变,那么框104将控制数据30中的存储标记38设置为ON或OFF,这由用户确定。
框165查看是否产生了一个关断窗口计时事件。如果用户在图4的菜单中指示窗口计时应该关断,就会产生该事件。如果是的话,则框166将控制数据30中的ON/OFF标记31设置成OFF。框168通过窗口数据40中的所有窗口构成回路,并且框169将聚焦栏目42和总量栏目43中的所有值置0。当窗口数据40中不再有要处理的窗口记录时,框168的回答是否定的控制流程进入框170。
框170查看是否产生了一个接通窗口计时事件。如果用户在图4的菜单中指示窗口计时应该接通,就会产生该事件。如果是的话,则框171将控制数据30中的ON/OFF标记31设置成ON。在任一种情况下,控制流程进入框175。
框175查看是否产生了一个设置取样速率窗口事件。如果用户在图4的菜单中为取样速率填写一个值,就会产生该事件。如果是的话,则框176将控制数据30中的取样速率33设置成用户设定的值。
框195查看是否有另一窗口事件要处理。如果是的话,则框196对这一事件进行常规的窗口处理。在任一种情况下,控制流程进入图5A的框115。
当独立地执行图5A~5B和图7中的流程时,图8的流程也在处理机12的内部被独立地执行。该流程图监视用户的输入,看看用户是否打算利用本发明的窗口计时功能来重新安排窗口,如图2B~2E所示。现在参看图8,框401查看用户是否已经选择了显示窗口模式。在最佳实施你中,用户可以从四种显示窗口模式中选择一种从左到右模式(如图2B所示),分级模式(如图2C所示),窗口目录模式(如图2D所示),以及触发模式(如图2E-1至2E-6所示)。如果在框401判定还没有选择显示窗口模式,那么在框403查看是否所有窗口都关闭。如果是的话,则程序在框499结束。如果不是,程序返回框401,再次查看是否已经选择了显示窗口模式。在最佳实施例中,通过一个指定的键序列选择窗口显示模式。例如,ALT-R可以用作从左到右模式,ALT-C可以用作分级模式,ALT-L可以用作窗口目录模式,而ALT-T可以用作触发模式。换句话说,可以使用一组鼠标器按钮,或者用户可以从菜单选择模式,或根据显示屏按下相应的图象钮。在任何情况下,一旦在框401判定已经选择了一种窗口显示模式,框407就设置当前聚焦的窗口的总量栏目43,使其等于计时器32的当前值减去聚焦栏目42的值再加上总量栏目43的当前值。这一功能与图6中的框320的功能一样,并确保使用当前聚焦的窗口的最新信息。框407还设置该窗口的聚焦栏42,使其等于计时器32的当前值。
在框410查看所选择的模式是否是从左到右模式。如果是的话,框500调用图9A的显示窗口从左到右子程序。
现在参看图9A,框510以常规方式清除所有数据显示。框515计算包括在窗口数据40中的窗口数。根据该窗口数,在框520将显示分块,分块数从1到N。例如,如果在窗口数据40中有六个窗口,则在框520将显示分为六块,如图2B所示。在最佳实施例,分成的块从1数到N,其方式如下从显示屏的左上角开始,然后从左向右数。当显示完一排窗口后,下一块位于下一排,并再次从左开始。最后一块位于屏幕的右下角。
在框525查看在窗口数据中是否留有要处理的任何记录。如果有的话,则在框530查看窗口数据40中总量栏目43内时间最长的未处理记录。找到以后,在框535获得下一个适合显示的块。在框540将由框530确定的窗口按框535确定的分块形式给予显示。然后控制流程返回框525,以同样方式处理窗口数据40中其余的记录。当框525确定窗口数据40中所有记录都已经处理完之后,框550使第一显示块中的窗口聚焦。在框599子程序返回图8中的框401。
再参看图8,如果框410的回答是否定的,那么框420查看所选择的模式是否是显示窗口分级模式。如果是的话,框600调用图9B的显示窗口分级子程序。现在参看图9B,框610以常规方式清除所有数据显示。框615计算包括在窗口数据40中的窗口数。根据该窗口数,在框620建立分级位置。在最佳实施例中,这一步是通过应用PresentationManager具有的人所共知的性能进行的。例如,如果在窗口数据40中有六个窗口,则在框620建立六个分级位置,如图2C所示。
在框625查看在窗口数据中是否留有要处理的任何记录。如果有的话,则在框630查看窗口数据40中总量栏目43内时间最短的未处理记录。找到以后,在框635获得分级栈后面最远的下一个合适的分级位置。在框640将由框630确定的窗口按框635确定的分级形式给予显示。除了栈最上面的一个窗口之外,对所有的分级位置来说,只显示窗口的标题及很少的一部分,窗口的其余部分被栈上更前面的窗口遮挡,如图2C的示。然后控制流程返回框625,以同样方式处理窗口数据40中其余的记录。当框625确定窗口数据40中所有记录都已经处理完之后,框650使分级栈最上面的窗口聚焦。在框699子程序返回图8中的框401。
再参看图8,如果框420的回答是否定的,那么框430查看所选择的模式是否是显示窗口目录子程序。如果是的话,框700调用图9C的显示窗口目录打开一个新窗口,并使之聚焦,如图2D所示。在框725查看在窗口数据中是否留有要处理的任何记录。如果有的话,则在框730查看窗口数据40中总量栏目43内时间最长的未处理记录。找到以后,在框735将该窗口的标题(在窗口数据40的栏目41中找到的)写在窗口目录剩余位置的最上方。然后控制流程返回框725,以同样方式处理窗口数据40中其余记录。当框725确定窗口数据40中所有记录都已经处理完之后,在框799子程序返回图8中的框401。
再参看图8,如果框430的回答是否定的,那么框440查看所选择的模式是否是显示窗口触发模式。如果是的话,框800调用图9D的显示窗口触发子程序。现有参看图9D,框805查看在窗口数据40中是否有窗口。如果没有,那么子程序返回框899。如果有的话,则在框810从控制数据30获取当前触发索引标记35。该标记始终监视当按下触发键序列时,接下来显示哪一个窗口。框815查看当前触发索引是否为NULL。当其它事件已经发生之后第一次按下触发键序列时,框815的回答将是肯定的,这在以后图10的流程中将更详细地描述。如果当前触发索引为NULL,那么框820从总量栏目43中获取时间最长的窗口。然后框825询问是否在框820找到了一个窗口。由于找到了一个窗口,所以在框830将控制数据30中的当前触发索引标记36的值设置成等于窗口数据40中该窗口的总量栏目43内的时间。这样做的结果是如果用户按下另一触发键序列而没有让任何其它的事件介入。那么该窗口被跳过。框832查看所选择的窗口是否已经聚焦。如果是的话,则控制流程回到框810,以便选择下一个窗口。如果不是,则在框835重新显示该窗口并使之聚焦。这种情况如图2E-1所示。在框899子程序返回图8中的框401。
如果用户按下另一触发键序列,则框440的回答还是肯定的,并再次调用子程序800。这次框815的回答是否定的,这是由于框830中设置的控制触发索引等于第一个窗口的时间。因此,在框850从窗口数据40获得下一个窗口,即该窗口在总量栏目43中具有最长的时间且小于当前的触发索引标记36。控制流程经框825、830、835和899形成回路。这种情况如图2E-2所示。
如果用户继续按触发键序列而没有让任何其它的事件介入,那么继续执行框805、810、815、850、825、830、835和899,直到重新显示最后一个窗口并使之聚焦为止。这种情况如图2E-3至2E-6所示。如果在重新显示最后一个窗口之后再次按下触发键序列,那么框825的回答是否定的,这是由于找不到时间比当前触发索引短的窗口。因此,在框860设置当前触发索引为NULL,回路返回至框810。这将再次从头开始触发序列,于是在总量栏目43中时间最长的窗口将再次重新显示并聚焦。
如果用户没有按触发键序列而做了其它的事性,(比如使数据进入一个窗口或进行上卷操作),那么就需要从最起作用的窗口起,从头开始触发序列。这是图10流程的一种功能,它与图5A~5B、图7和图8的流程一道,在处理机12中独立地运行。
现在参看图10,框1001查看是否有要处理的窗口事件。这与图5A中的框110所做的检验相同。如果框1001确定没有窗口事件要处理,则框1003查看是否所有窗口都已经关闭。如果是的话,则程序在框1099结束。如果不是,则程序返回框1001,再次查看是否有要处理的窗口事件。一旦框1001的回答是肯定的,框1001就获得窗口事件。框1020询问该窗口事件是否是用户操作的结果。如果不是,则程序返回框1001寻找要处理的另一窗口事件。请注意,图5A~5B的流程实际上是处理事件,而图10的流程仅仅是在寻找影响本发明的窗口计时功能的特定事件。如果框1020的回答是肯定的,则框1050查看控制数据30的暂停标记34是否等于TRUE2,如果该标记等于TRUE2,则由于待用超时,窗口计时功能暂停。由于现在用户已经做了一些事情,所以重新开始窗口计时功能是适宜的。这由框1055通过将暂停标记34的值变成FALSE实现,这样图7的框205可以做出肯定的回答,并且控制数据30中的计时器标记32在框208中被加1。
再参看图10,不管框1050的回答如何,控制流程都进入框1060,在该框中,终结事件标记36设置成控制数据30中的计时器32的值。因此终结事件标记36包括事件发生的最后时间,它指示用户在显示屏上就一个窗口所进行的操作。这一信息被图5A中的框115和118利用,以便查看是否已经超过特定的待用超时。
框1075(图10)询问窗口事件是否是一个触发窗口事件。如果不是的话,则在框1080将当前触发索引标记35复位成NULL。这将导致最起作用的窗口在一按下触发键序列时就被显示,如同已经讨论过的那样。如果框1075的回答是肯定的,那么用户已经多次连续地按下触发键序列,而没有加入任何非触发事件。因此,框1080被跳过。在任一种情况下,程序都返回框1001。
虽然以上根据最佳实离例和另外的几种实施例对本发明进行了描述,但本领域的技术人员应该懂得,在不背离本发明的精神、范围和原理的前提下,可在细节上做各种修改。例如,通过简单地改变图9A中框520的显示块计数方式,就可以很容易地将图9A所述从左到右的窗口显示模式改变成从右到左、从上到下的显示模式,或者从上到下、从左到右的显示模式,或者从右到左、从上到下的显示模式。因此,在什么是最起作用的窗口的最醒目的显示位置这个问题上,本发明考虑到了不同文化背景和个人习惯所带来的影响。
权利要求
1.有效地在一个显示屏上显示多个窗口的方法,其特征在于以下步骤监测所说的多个窗口中的每一个已经起作用的窗口的持续时间;确定所说的多个窗口中的第一窗口起作用的持续时间要比其余窗口长;以及显示所说的第一窗口要比显示所说多个窗口中的其余窗口更醒目。
2.权利要求1的方法,其特征在于所说的显示步骤还包括指示所说第一窗口处于聚焦状态。
3.权利要求1的方法,其特征在于以下步骤确定所说的多个窗口中的第二窗口起作用的持续时间比第一窗口短,但比其余窗口长;以及显示第二窗口的醒目程度不及第一窗口,但比所说多个窗口中的其余窗口要强。
4.有效地在一个显示屏上显示多个窗口的方法,其特征在于以下步骤监测所说的多个窗口中的每一个已经起作用的窗口的持续时间;显示所说的多个窗口,至少一个起作用时间较长的窗口要比一个起作用时间较短的窗口更醒目地显示出来。
5.权利要求4的方法,其特征在于所说的显示步骤还包括将起作用时间最长的第一窗口放在显示屏的左上角;以及按照起作用时间长短的递减顺序,在所说的显示屏上从左到右、从上到下地排列所说的多个窗口中的其余窗口。
6.权利要求5的方法,其特征在于以下步骤指示所说第一窗口处于聚焦状态。
7.权利要求4的方法,其特征在于所说的显示步骤还包括将起作用时间最长的第一窗口放在显示屏的右上角;以及按照起作用时间长短的递减顺序,在所说的显示屏上从右到左、从上到下地排列所说的多个窗口中的其余窗口。
8.权利要求7的方法,其特征在于以下步骤指示所说第一窗口处于聚焦状态。
9.权利要求4的方法,其特征在于所说的显示步骤还包括将起作用时间最长的第一窗口放在显示屏的左上角;以及按照起作用时间长短的递减顺序,在所说的显示屏上从上到下、从左到右地排列所说的多个窗口中的其余窗口。
10.权利要求9的方法,其特征在于以下步骤指示所说第一窗口处于聚焦状态。
11.权利要求4的方法,其特征在于所说的显示步骤还包括将起作用时间最长的第一窗口放在显示屏的右上角;以及按照起作用时间长短的递减顺序,在所说的显示屏上从上到下、从右到左地排列所说的多个窗口中的其余窗口。
12.权利要求11的方法,其特征在于以下步骤指示所说第一窗口处于聚焦状态。
13.权利要求4的方法,其特征在于所说的显示步骤还包括将起作用时间最长的第一窗口放在所说的显示屏上的窗口分级栈的最前面;以及按照起作用时间长短的递减顺序,在所说的显示屏上将所说的多个窗口中的其余窗口放在所说的窗口分级中的第一窗口的后面。
14.权利要求13的方法,其特征在于以下步骤指示所说第一窗口处于聚焦状态。
15.权利要求4的方法,其中所说的多个窗口具有与之相关的多个标题,并且其中所说的显示步骤包括将与起作用时间最长的第一窗口相关的第一标题放在所说显示屏上的窗口目录和最上面;以及按照起作用时间长短的递减顺序,在所说的显示屏上将与所说的多个窗口的其余窗口相关的多个窗口标题中的其余标题放在所说的窗口目录上的所说的第一窗口标题之后。
16.权利要求4的方法,其特征在于所说的显示步骤还包括指示起作用时间最长的第一窗口处于聚焦状态。
17.权利要求16的方法,其特征在于以下步骤接收多个触发命令;以及当接收到每个所说的触发命令时,按照起作用时间长短的递减顺序,依次指示所说的多个窗口中的其余窗口处于聚焦状态。
18.权利要求17的方法,其特征在于以下步骤确定通过所说的依次指示步骤已将起作用时间最短的窗口聚焦;以及当接收到所说的多个触发命令中的下一个命令时,重新指示所说的第一窗口处于聚焦状态。
全文摘要
本发明公开了一种在计算机显示屏上醒目地显示窗口的方法和装置。监测每个出现在显示屏上的起作用(也叫“聚焦”)窗口的持续时间。当接收到用户发出的一条指令时,起作用时间长的窗口比起作用时间短的更醒目地显示出来。可以通过许多不同的途径来更醒目地显示起作用的窗口。一种途径是将起作用时间最长的窗口放在屏幕的左上角,而将其余的窗口按起作用时间长短的递减顺序从左到右、从上到下地放在屏幕上。
文档编号G06F11/34GK1073784SQ92113468
公开日1993年6月30日 申请日期1992年11月28日 优先权日1991年12月20日
发明者卡里·李·贝茨, 杰弗里·迈克尔·赖安 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1