CN103559039A - 一种仪器交互界面的消息路由方法 - Google Patents
一种仪器交互界面的消息路由方法 Download PDFInfo
- Publication number
- CN103559039A CN103559039A CN201310561406.2A CN201310561406A CN103559039A CN 103559039 A CN103559039 A CN 103559039A CN 201310561406 A CN201310561406 A CN 201310561406A CN 103559039 A CN103559039 A CN 103559039A
- Authority
- CN
- China
- Prior art keywords
- message
- keyboard
- key
- class
- current active
- 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.)
- Pending
Links
Images
Landscapes
- Input From Keyboards Or The Like (AREA)
Abstract
本发明提供一种仪器交互界面的消息路由方法,其包括:步骤1,利用键盘消息管理类接收键盘按键消息,并将键盘扫描码添加到键盘消息管理类的扫描码映射表中;步骤2,利用前面板按键消息管理类接收按键消息,并将按键扫描码添加到前面板按键消息管理类的扫描码映射表中;步骤3,将键盘消息管理类和前面板按键消息管理类两者的扫描码映射表中的扫描码转换统一键码,将统一键码派发给当前活动窗口;步骤4,利用当前活动窗口接收所述统一键码,将统一键码进行分类,通过消息派发器类分别进行消息处理,使不同位置操作相同功能的输入有统一的处理函数。本发明利用了硬件资源,方面用户操作,界面更加灵活,提高了运行效率。
Description
技术领域
本发明属于计算机应用领域,尤其涉及一种仪器交互界面的消息路由方法。
背景技术
用户界面是计算机软件应用系统的重要部分,用户对软件界面的要求越来越高,不仅要求界面友好,还需要界面美观大方、交互性好等,这就对软件界面的开发提出了更高的要求。为了迎合市场的需求,仪器产品也更加重视软件界面的设计,在软件生产过程中,界面开发占总工作量的比例越来越大,项目的开发成本也越来越高,但是代码的重用性却没有得到改善,往往需要专业的界面开发工程师负责开发界面。在基于窗口与菜单的仪器软件界面开发中,用户可以通过鼠标操作窗口中的控件或者仪器的前面板按键进行操作,方便、快捷,极大的提高配置操作的效率。现有的支持此类界面操作的软件开发中,对于窗口控件的消息以及前面板按键的消息处理非常复杂,采用分开处理的方式,用户通过鼠标或者键盘对控件的操作和通过前面板中按键的操作分别编写两套消息处理函数,用两套消息传递通路,以此达到多种输入方式的目的。
现有基于两套信息处理的方式存在各种各样的缺点,主要缺点是每次的消息路由都是特定化的,鼠标或键盘操作控件发出的消息和前面板按键操作发出的消息尽管对仪器进行相同的操作,但消息的种类和传递方式不同,需要分别进行消息处理,造成软件界面开发时的重复工作量很大,增加了代码出错的几率,延长了项目开发,代码的可维护性也比较差。
发明内容
为解决上述问题,本发明提供一种仪器交互界面的消息路由方法,解决仪器复杂交互界面中多输入模式下消息种类繁杂,处理函数不统一,造成软件界面开发时的重复工作量大,代码出错率高,可维护性较差的问题。
本发明的仪器交互界面的消息路由方法包括:
步骤1,利用键盘消息管理类接收键盘按键消息,并将键盘扫描码添加到所述键盘消息管理类的扫描码映射表中;
步骤2,利用前面板按键消息管理类接收按键消息,并将按键扫描码添加到所述前面板按键消息管理类的扫描码映射表中;
步骤3,将所述键盘消息管理类和所述前面板按键消息管理类两者的扫描码映射表中的扫描码转换统一键码,将所述统一键码派发给当前活动窗口;
步骤4,利用所述当前活动窗口接收所述统一键码,将所述统一键码进行分类,通过消息派发器类分别进行消息处理,使不同位置操作相同功能的输入有统一的处理函数;
其中,所述键盘消息管理类依据所连接的键盘确定其扫描码映射表,所述前面板按键消息管理类依据前面板按键确定其扫描码映射表,所述当前活动窗口为用户当前操作的窗口;
进一步的,所述步骤4包括:
步骤41,将所述当前活动窗口接收的统一键码分类为:功能按键消息,单位按键消息,软菜单按键消息;
步骤42,利用所述消息派发器类根据不同种类的消息分别进行消息路由,将所述功能按键消息派发给最顶层的框架类进行消息处理;将所述单位按键消息在当前活动窗口进行消息处理:将所述软菜单按键消息发给最顶层的框架类后被后续要响应该消息的控件所调用;
步骤43,在所述框架类及当前活动窗口类中编写消息响应函数,处理用户输入。
本发明的有益效果在于:
采用本发明提供的仪器界面消息路由方案,界面中的窗口可以任意添加,消息的路由不需要再次实现,一个通用的路由机制保证了所有用户输入消息的统一管理。相同功能的消息处理程序只需编写一次,调试程序方便、快捷,添加新功能简单、迅速。该消息路由机制使得接口处理在原有的基础上有了很大的扩充,增加用户操作仪器途径的同时代码不需要有很大的更改和添加,使仪器界面开发者充分利用硬件资源,方面用户操作,软件界面更加灵活,提高软件运行效率。
附图说明
图1是本发明的仪器交互界面消息路由方法流程图。
具体实施方式
本发明的技术解决方案,提供一种仪器交互界面消息路由方法,如图1所示,包括以下步骤:
1)键盘消息管理类接收键盘按键消息,将键盘扫描码添加到键盘消息管理类的扫描码映射表中。
2)前面板按键消息管理类接收按键消息,将按键扫描码添加到前面板按键消息管理类的扫描码映射表中
3)所述键盘消息管理类和前面板按键消息管理类将映射表中的扫描码转换成一致的统一键码,将按键消息派发给当前活动窗口。
4)所述当前活动窗口接收消息,将消息进行分类,通过消息派发器类分别进行消息处理,使的不同位置操作相同功能的输入有统一的处理函数。
所述键盘消息管理类依据当前仪器所连接的键盘确定其扫描码映射表。
所述前面板按键消息管理类依据当前仪器前面板按键确定其扫描码映射表。
所述当前活动窗口,是指当前焦点所在窗口,以用户当前操作的窗口为准。
所述步骤4),具体包括
41)将当前窗口接收的消息进行分类,包括功能按键消息,单位按键消息,软菜单按键消息。
42)消息派发器类根据不同种类的消息分别进行消息路由。功能按键消息派发给软件最顶层的框架类进行消息处理;单位按键消息在当前活动窗口进行消息处理;软菜单按键消息发给软件最顶层的框架类后,被后续要响应该消息的的控件所调用。
43)在所述框架类及当前活动窗口类中编写消息响应函数,处理用户输入。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以用户按下“频率”功能按键或者按下键盘按键“A”为例,两个操作完成同样的功能,打开频率配置窗口,本发明实施例消息路由的处理流程如下:
S1:用户操作按下“频率”功能按键或者键盘按键“A”。
S2:如果按下“频率”功能按键,前面板按键消息管理类捕获消息,将按键扫描码添加到映射表中。
S3:如果按下键盘按键“A”,键盘消息管理类捕获消息,将按键扫描码添加到映射表中。
S3:查找映射表,找到转换后的一致键码,重新向框架类派发消息。
S4:框架类接收消息,根据一致键码找到处理函数入口,处理用户输入。
以用户按下单位按键“GHz”或者键盘按键“F9”为例,两个操作完成同样的功能,以该单位结束输入。本发明实施例消息路由的处理流程如下:
S1:用户按下前面板单位按键,按键消息发送至框架类。
S2:用户按下键盘按键“F9”,当前活动窗口类接收消息,派发给框架类。
S3:框架类接收单位按键消息,将一致键码重新派发给当前活动窗口。
S4:当前活动窗口接收按键消息,根据一致键码找到处理函数入口,处理单位输入。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (1)
1.一种仪器交互界面的消息路由方法,其特征在于,包括:
步骤1,利用键盘消息管理类接收键盘按键消息,并将键盘扫描码添加到所述键盘消息管理类的扫描码映射表中;
步骤2,利用前面板按键消息管理类接收按键消息,并将按键扫描码添加到所述前面板按键消息管理类的扫描码映射表中;
步骤3,将所述键盘消息管理类和所述前面板按键消息管理类两者的扫描码映射表中的扫描码转换统一键码,将所述统一键码派发给当前活动窗口;
步骤4,利用所述当前活动窗口接收所述统一键码,将所述统一键码进行分类,通过消息派发器类分别进行消息处理,使不同位置操作相同功能的输入有统一的处理函数;
其中,所述键盘消息管理类依据所连接的键盘确定其扫描码映射表,所述前面板按键消息管理类依据前面板按键确定其扫描码映射表,所述当前活动窗口为用户当前操作的窗口;
进一步的,所述步骤4包括:
步骤41,将所述当前活动窗口接收的统一键码分类为:功能按键消息,单位按键消息,软菜单按键消息;
步骤42,利用所述消息派发器类根据不同种类的消息分别进行消息路由,将所述功能按键消息派发给最顶层的框架类进行消息处理;将所述单位按键消息在当前活动窗口进行消息处理;将所述软菜单按键消息发给最顶层的框架类后被后续要响应该消息的的控件所调用;
步骤43,在所述框架类及当前活动窗口类中编写消息响应函数,处理用户输入。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310561406.2A CN103559039A (zh) | 2013-11-04 | 2013-11-04 | 一种仪器交互界面的消息路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310561406.2A CN103559039A (zh) | 2013-11-04 | 2013-11-04 | 一种仪器交互界面的消息路由方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103559039A true CN103559039A (zh) | 2014-02-05 |
Family
ID=50013295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310561406.2A Pending CN103559039A (zh) | 2013-11-04 | 2013-11-04 | 一种仪器交互界面的消息路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103559039A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104035770A (zh) * | 2014-06-05 | 2014-09-10 | 中国电子科技集团公司第四十一研究所 | 一种仪器前面板按键与Windows快捷键对接的方法 |
CN104834374A (zh) * | 2015-04-30 | 2015-08-12 | 中国电子科技集团公司第四十一研究所 | 一种适用于智能仪器的通用输入编辑控件的实现方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1356611A (zh) * | 2002-01-15 | 2002-07-03 | Tcl王牌电子(深圳)有限公司 | 一种实现对输入消息进行转换处理的方法 |
CN1877504A (zh) * | 2005-06-07 | 2006-12-13 | 技嘉科技股份有限公司 | 电子产品的输入装置及与图形操作者界面的互动方法 |
US20120065956A1 (en) * | 2010-08-31 | 2012-03-15 | The Regents Of The University Of California | Digital processors |
-
2013
- 2013-11-04 CN CN201310561406.2A patent/CN103559039A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1356611A (zh) * | 2002-01-15 | 2002-07-03 | Tcl王牌电子(深圳)有限公司 | 一种实现对输入消息进行转换处理的方法 |
CN1877504A (zh) * | 2005-06-07 | 2006-12-13 | 技嘉科技股份有限公司 | 电子产品的输入装置及与图形操作者界面的互动方法 |
US20120065956A1 (en) * | 2010-08-31 | 2012-03-15 | The Regents Of The University Of California | Digital processors |
Non-Patent Citations (2)
Title |
---|
张云帆等: "基于嵌入式Linux智能仪器多输入设备设计与实现", 《工业控制计算机》 * |
黄健: "基于MiniGUI键盘输入的通用网络接口的设计", 《计算机工程与设计》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104035770A (zh) * | 2014-06-05 | 2014-09-10 | 中国电子科技集团公司第四十一研究所 | 一种仪器前面板按键与Windows快捷键对接的方法 |
CN104834374A (zh) * | 2015-04-30 | 2015-08-12 | 中国电子科技集团公司第四十一研究所 | 一种适用于智能仪器的通用输入编辑控件的实现方法 |
CN104834374B (zh) * | 2015-04-30 | 2017-10-31 | 中国电子科技集团公司第四十一研究所 | 一种适用于智能仪器的通用输入编辑控件的实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103685389A (zh) | 一种远程控制数据终端实现用户界面交互的系统及方法 | |
US20230091539A1 (en) | Information processing method, device, system, storage medium, and computer program product | |
CN112231017B (zh) | 在Linux上兼容运行Android运行环境的虚拟键鼠方法与装置 | |
CN201993811U (zh) | 云融合商业智能终端 | |
CN102819391B (zh) | 一种多场景下具有并行性的多点触摸手势反馈系统及方法 | |
CN103838375B (zh) | 终端输入方法及终端 | |
CN103631556A (zh) | 一种远程控制显示设备的方法、移动终端及系统 | |
WO2021164160A1 (zh) | 信息共享方法及装置、存储介质及电子设备 | |
CN108255316A (zh) | 动态调整表情符号的方法、电子装置及计算机可读存储介质 | |
CN111881385B (zh) | 推送内容生成方法、装置、设备和可读存储介质 | |
JP2020161135A (ja) | チャットスレッドを表示するための方法およびシステム | |
CN102637127A (zh) | 一种控制鼠标模块的方法及电子设备 | |
CN111459393A (zh) | 一种多信号源交互操控的实现方法、系统及设备 | |
CN104602092A (zh) | Android系统下智能机顶盒适配手机应用的方法 | |
WO2018086454A1 (zh) | 页面数据处理方法和装置 | |
CN104661080A (zh) | 基于Wi-Fi无线网络的多设备投影控制方法 | |
CN103795758B (zh) | 内容浏览、生成及交互方法,内容浏览终端、服务器及系统 | |
CN102438029B (zh) | 一种实现Android手机远程交互的控制方法及系统 | |
CN103634640A (zh) | 移动终端设备控制智能电视端语音输入的方法及系统 | |
CN117057318A (zh) | 领域模型生成方法、装置、设备以及存储介质 | |
CN103559039A (zh) | 一种仪器交互界面的消息路由方法 | |
CN102170588B (zh) | 一种有遥控器的机顶盒及其切换工作状态的方法 | |
CN103809951A (zh) | 一种基于flex技术图形化服务编排和管理装置 | |
CN106488269A (zh) | 基于第三方应用平台实现对电视设备控制的系统及方法 | |
Wang et al. | A new territory of multi-user variable remote control for interactive TV |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140205 |