形成多个抢先非模式对话框的方法和设备技术

技术编号:2887775 阅读:198 留言:0更新日期:2012-04-11 18:40
一种用于管理多个抢先非模式对话框的方法,该对话框可使操作者选择一个应用的多项功能而不用消除对所述应用的先前功能的选择,所述应用包含有一个控制所述功能的主窗口线程,该方法包括: 创建一个包含有智能工作者线程的抢先非模式对话框,该线程与所述的主窗口线程和对话框线程进行通信; 创建一个活动的对应于所述应用的第一功能的抢先非模式对话框;以及 创建至少一个随后的对应于所述应用的第二功能的抢先非模式对话框; 当任何时候一个随后的抢先非模式对话框被创建时,其中所述的活动的抢先非模式对话框被智能工作者线程终止。(*该技术在2017年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术是关于具有易于与各自的操作者交互作用的基于窗口的用户界面的系统。尤其是,本专利技术是关于一种运行基于Windows的应用程序的方法,该应用程序包含用于执行该应用程序的特定功能的用户交互抢先非模式对话框。-Window(微软公司的注册商标)系统,比如一运行Window NT的计算机系统(微公司的注册商标),在计算机操作者和计算机系统之间提供了易于交互作用的方便的用户界面。这样的用户界面典型地是为应用程序提供一个小窗口,即对话框,被置于应用程序的前台以接收用户的响应,一旦收到,则从视野中消除对话框继续运行应用程序。标准的软件库,比如微软函数类(MFC)库,提供了用于开发和实施任何特定应用程序的对话框的标准例程,对应用程序工程师来说易于使用。MFC库,实际上提供了用于开发模式对话框和非模式对话框的软件例程。模式对话框运行在程序执行的主线程上,并且要求在进一步处理继续之前有用户的输入。相比较而言,非模式对话框则是运行在独立的执行线程,因此,能与其他的进程并列存在。标准软件库为软件应用提供了一种容易方式以开发和实施对话框。但现在的对话框的实施方式用起来不方便。使用这种不方便的对话框对计算机操作者来说是非常麻烦的,尤其是对于那些必须快速,有效地利用计算机的用户。比如工厂或提炼厂的操作者使用运行在计算机网络上的复杂应用来监视和维持这些设备的日常运转,由于计算机网络做为实时的数据库而运行,操作者和特定计算机的交互必须快速响应而不应受到笨拙的用户界面的限制,而且,操作者可能会错误地选择一个不必要的功能或改变主意选定一个特定的功能而弹出它的对话框。不幸的是,现在的对话框实施要求大量的输入,也就是,击键或按鼠标,以选得一个不同的功能和一个相应的新的对话框。例如,由MFC库实现的模式对话框要求操作者在选定一个新功能之前取消前一个选择。而对于非模式对话框,损作者必须在做一个选项之前选择对话框外边界之外的区域。而且,对每一个选择都创建一相应的非模式对话框,这样显示就变得很拥挤,影响操作者观看必要信息。已有技术的对话框如附图说明图1、2所示。尤其是,在图1中,显示了通过已有技术MFC库实现的模式对话框10,模式对话框10运行在当前应用的主线程12上。一旦在应用程序的前台调用了模式对话框,操作者就必须向系统提供输入以继续下一步处理。例如,图1所显示的模式对话框是一典型的字处理程序,用于以一特定的名字存储当前文件。操作者必须或者或选择“Cancel”按钮14或在“FileName”域16处提供一文件名,并在继续执行应用程序之前选择“OK”按钮。图2所显示的是非模式对话框(20、22),与模式对话框10一样,通过已有技术的MFC库来实现。每一个非模式对话框都运行在一独立的执行线程(24、26)上,这样,其他的处理就可以以并行的方式与存在的一个或多个非模式对话框同时进行。但是,使用独立线程(24、26)要求系统向当前的应用提供额外的资源,而且,由于资源的限制,独立线程的这些要求可能会限制计算机的性能。另外,在响应先前所选择的功能之前选择一个新功能要求操作者访问应用的主窗口。例如,参照图2,非模式对话框(20、22)用于一典型的字处理程序并且当操作者分别请求一查找功能和一替换功能时出现。当操作者请求查找功能时,非模式对话框20出现在系统的前台并显示(即它的边界被着重加色)。在该时刻,对话框准备好接受输入,操作者可以或选取“Cancel”按钮28或在Find What域30处提供一个或几个要查找的字段并选择OK按钮32。当非模式对话框20显示在前面时,任何提供的其他收入均被忽略。所以,如果操作者请求一个替换功能而不响应查找功能时,操作者必须访问应用的主窗口,这可以通过点击主窗口的一些区域而回到该窗口查看。当访问完主窗口后,这时操作者就可以从主窗口的菜单中要求替换功能,因此非模式对话框22就会出现在系统的前台并显示,可以理解“FIND”和“REPLACE”框并存,但“FIND”框只有当被鼠标点击能被观察到时才接受输入,而且“REPLACE”框也只有当它能被观察到时才会接受输入。本专利技术提出一种用于创建抢先非模式对话框的方法,该对话框能减少控制特定应用功能所需的输入,比如键盘或鼠标,并允许用户不需访问主窗口就可以选择一种新功能。尤其是,抢先非模式对话框能接收所有的事件,就好像它是应用的主窗口。这样就不用回到主窗口以调用一新功能。一抢先非模式对话框能处理它本身的输入,也能解释对新功能的请求。后面特征使它具有抢先性。当一针对新功能的请求通过抢先非模式对话框被传递时,先前所选择的功能可能被抢先。响应新的请求,当前的抢先非模式对话框被删除,而与新的功能相对应的抢先非模式对话框的类型在它的位置建立起来,依照本专利技术的抢先非模式对话(PMDB)框针对常规的模式和非模式对话框具有两个优点①最小化用户的输入;②简化显示(例如保持不混乱)。因此,本专利技术提供一种用于与对话框交互的更简单、快速的用户界面。本专利技术是一种用于最小化选择运行在系统上的应用的各种功能的用户交互的方法。尤其是,它指的是一种方法和系统,用于通过放置在一主窗口线程(MWT)和至少一个对话框线程之间的一个新的智能工作者线程(IWT)的方式管理多个抢先非模式对话框。这样,就可以使得操作者选择各种应用的功能而不用返回到应用主窗口。通过使用智能工作者线程来完成的这些,智能工作者线程代表抢先非模式对话框而动作,分配它的输入,包括建盘。这就使得易于为用户使用并且显示不混乱。智能工作者线程能确保只有抢先非模式对话框,也就是,当前对用户感兴趣的抢先非模式对话框在任意给定的点及时地显示出来。主窗口线程包括步骤创建智能工作者线程;检查主窗口线程的消息序列(针对任意消息);如果消息里“QUIT”则结束主窗口线程;发送消息到一指定的和/或窗口函数(或称为窗口进程)进行处理。主窗口线程还包括激活指定的窗口函数,然后通过窗口函数;判定是否需要抢先非模式对话框;发送消息到智能工作者线程的消息序列以创建指定函数的抢先非模式对话框。某些Windows软件提供了函数,用户能进行用户化的使它的应用能处理窗口消息。例如,响应一键盘键的松开动作而产生的窗口消息通过主窗口线程分配到能处理该事件的特定的窗口函数。用户可以按其需要对这些函数的进行用户化。在应用的其他部份,这些MICROSOFT(微软公司注册商标)函数将被参考为窗口函数。如果用户请求一抢先非模式对话框以处理他/她输入事件之一,用户可以用户化相应的窗口函数的实现以发送一个WM PMDB消息到一智能工作者线程,声明所要求的智能工作者线程的类型。智能工作者线程包括步骤检查智能工作线程的消息队列中所有消息;管理针对WM PMDB消息(即在窗口应用中用户初始化的)的抢先非模式对话框的创建和检测;分配外部按键回到父进程(例如,在本专利技术中父进程被参考为主窗口线程);提交对话框输入到对话框线程。它还包括如果消息是“QUIT”则终止智能工作者线程。抢先非模式对话框的输入由控制(这理参考为对话框线程)的独立线程来处理,这个的述的对话框线程通过窗口软件单独管理。本专利技术还指的是一种用于控制能管理多个抢先非模式对话框的处理器的存储媒体。因此,这就能使操作者选择一个应用的各种功能而本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:特雷泽·M·西尔文特瓦伦丁·W·戈利克詹姆斯·T·高德泽勒
申请(专利权)人:霍尼韦尔公司
类型:发明
国别省市:

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

1