CN105159679A - 视窗类软件的消息响应和处理方法及系统 - Google Patents
视窗类软件的消息响应和处理方法及系统 Download PDFInfo
- Publication number
- CN105159679A CN105159679A CN201510586152.9A CN201510586152A CN105159679A CN 105159679 A CN105159679 A CN 105159679A CN 201510586152 A CN201510586152 A CN 201510586152A CN 105159679 A CN105159679 A CN 105159679A
- Authority
- CN
- China
- Prior art keywords
- message
- value
- variate
- variable
- module
- 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
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明涉及软件开发技术领域,具体公开一种视窗类软件的消息响应及处理方法,包括以下步骤:S1、将至少一个具有可变值的变量与视窗上的对象进行关联;S2、所述对象根据用户对所述对象的操作指令,生成消息并修改与所述对象相关联的变量值;S3、消息获取模块获取所述对象相关联的变量值,并判断是否存在与所述变量值所对应的消息处理模块:若是,则执行步骤S4;若否,则返回步骤S3;S4、与所述变量值所对应的消息处理模块获取所述对象相关联的变量值,并对所述消息进行处理。相应地,本发明还公开一种视窗类软件的消息响应及处理系统。通过特定的消息响应和处理设置,能够有助于简化软开人员的设计,达到快速视窗软件开发的有益效果。
Description
技术领域
本发明涉及软件开发技术领域,特别涉及一种视窗类软件的消息响应和处理方法及系统。
背景技术
传统的windows视窗软件的消息响应和处理大致过程:视窗中的对象产生消息,API[API(ApplicationProgrammingInterface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组]发送消息,由API获取消息,最后由软件开发人员设计好的方法分析处理消息。这样软件开发人员在设计过程中一般需要对所有这些过程都理解和熟练才能设计好一个可用的视窗软件,这需要软开人员具有一定专业知识和一到两年的软件编程学习时间。
发明内容
本发明旨在克服现有视窗软件开发中消息响应和处理复杂的技术缺陷,提供一种视窗类软件的消息响应和处理方法。
为实现上述目的,本发明采用以下技术方案:
一方面,本发明提供一种视窗类软件的消息响应和处理方法,包括以下步骤:
S1、将至少一个具有可变值的变量与视窗上的对象进行关联;
S2、所述对象根据用户对所述对象的操作指令,生成消息并修改与所述对象相关联的变量值;
S3、消息获取模块获取所述对象相关联的变量值,并判断是否存在与所述变量值所对应的消息处理模块:若是,则执行步骤S4;若否,则返回步骤S3;
S4、与所述变量值所对应的消息处理模块获取所述对象相关联的变量值,并对所述消息进行处理。
一些实施例中,所述步骤S3中,通过定时器来启用所述消息获取模块,当所述对象相关联的变量激活所述定时器时,所述消息获取模块被启用,并获取消息。
一些实施例中,所述步骤S4中,所述消息处理模块包括消息处理函数和消息设置函数。
一些实施例中,当所述变量值对应所述消息处理模块中的消息处理函数时,所述消息处理函数对所述消息进行处理。
一些实施例中,当所述变量值对应所述消息处理模块中的消息设置函数时,修改与所述对象相关联的变量值,将对象置于特定消息事件中,并执行步骤S2-S4。
一些实施例中,当所述变量值对应所述消息处理模块中的消息设置函数时,将对象置于特定消息事件中,修改与所述对象相关联的变量值,并执行步骤S3-S4。
相应地,本发明还提供一种视窗类软件的消息响应和处理系统,包括以下模块:
变量生成模块,用于生成与对象相关联的至少一个具有可变值的变量;
消息模块,用于根据用户对所述对象的操作指令生成消息,并修改所述对象的变量值;
消息获取模块,用于获取所述消息模块产生的消息,以及所述对象的变量值;
消息处理模块,用于根据变量值选择消息处理函数,并对所述消息进行处理。
一些实施例中,还包括定时模块,用于判断是否有消息产生,并根据变量值判断有消息产生,在判断产生消息时,激活所述消息获取模块和所述消息处理模块。
一些实施例中,所述与对象相关联的变量为主视窗、副视窗或内部控件视窗上的对象所相关联的变量,所述变量为自定义变量或软件开发平台中的向导中生成的变量。
一些实施例中,所述对象包括主视窗、副视窗及内部控件视窗上的按钮和对话框。
本发明的有益效果在于:本发明通过特定的消息响应和处理设置,能够有助于简化软开人员的设计,达到快速视窗软件开发的有益效果。
附图说明
图1为本发明视窗类软件的消息响应和处理方法的流程图;
图2为本发明视窗类软件的消息响应和处理系统的模块图。
图标说明:
1、变量生成模块2、消息模块
3、定时模块4、消息获取模块
5、消息处理模块
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,而不构成对本发明的限制。
请参阅图1,为本发明视窗类软件的消息响应和处理方法的流程图。其中,在具体实施例中,本发明采用按钮作为实施例来解释具体过程。本发明具体包括以下步骤:执行步骤S1,将至少一个具有可变值的变量与视窗上的对象进行关联。其中,视窗上的对象包括主视窗、副视窗或者内部控件视窗上的对象。所述的变量可以是自定义的变量,也可以是通过软件开发平台中的向导生成的变量。例如,对于对象“按钮”,可以定义一个或多个有可变值(2个以上)的变量与一个按钮关联,该变量有且仅有一个按钮与之关联。
执行步骤S2,该对象根据用户对其的操作指令,生成消息并修改与所述对象相关联的变量值,该消息以消息函数的方式生成。在面向对象的软件编程中,其消息函数均可双击对象自动生成。例如一个按钮的BN_CLICKED消息,当视窗软件的使用者点击按钮时,BN_CLICKED发生响应,在该响应函数中,修改按钮对应的变量值。
执行步骤S3,消息获取模块获取所述对象相关联的变量值,并判断是否存在与所述变量值所对应的消息处理模块,若没有与该变量值对应的消息处理模块,则返回步骤3,重新获取变量值,并重新查找与该变量值对应的消息处理模块。具体地,其他对象可以通过该消息获取模块的消息获取函数来获取产生消息的对象相关联的变量。例如,通过该消息获取函数,主视窗对象可以获取被点击按钮相关联的变量。本步骤通过定时器来启用消息获取模块和消息处理模块,每当在定时器激活时若有消息产生便可以迅速得知并执行,或通过my_setvalue()可将所述对象置于特定的消息事件中。
若存在与该变量值相对应的消息处理模块,则执行步骤S4,与所述变量值所对应的消息处理模块获取所述对象相关联的变量值,并对所述消息进行处理。具体地,根据所获取的变量值的不同,将消息处理映射到对应变量值的处理函数上。例如,若一个按钮的关联变量为myint_btn初值为0,当点击按钮时my_setvalue(),消息处理函数my_getvalue(),判定myint_btn_1若>0,则视为按钮按下,交于对应的处理函数my_write()执行处理。本发明的消息处理模块包括消息处理函数和消息设置函数,当所述变量值对应所述消息处理模块中的消息处理函数时,所述消息处理函数对所述消息进行处理;当所述变量值对应所述消息处理模块中的消息设置函数时,修改与所述对象相关联的变量值,将对象置于特定消息事件中,并执行步骤S2-S4或执行步骤S3-S4。
本发明提供另一个具体实施例:首先打开VS2010,建立一个MFC应用项目,名称mymethod,基于dialog。打开资源对话框,找到添加按钮。插入一个dialog1,并添加按钮,添加各个按钮的消息函数。添加自定义变量分别在mytab_1.h中声明intmyint[12],voidmy_setvalue(intnum)和intmy_getvalue(intnum)。在OnClickedButton1()至OnClickedButton12()的函数体中添加处理程序代码。同样,在主视窗mymethodDlg中也可以按照以上步骤进行添加。在mymethodDlg中添加编辑框的控件变量m_editctrl和tab页的控件变量m_tabctrl,在m_tabctrl中添加dialog1页面,从而生成可执行文件,并执行。在点击tab1上的按钮后,主视图能实时捕捉到该控件上的消息事件,并且能够处理对应的消息事件,并在编辑框中显示已经执行的按钮点击事件。
请参阅图2,为本发明视窗类软件的消息响应和处理系统的模块图。具体包括以下模块:变量生成模块1,用于生成与对象相关联的至少一个具有可变值的变量。
消息模块2,用于根据用户对所述对象的操作指令生成消息,并修改所述对象的变量值。
消息获取模块3,用于获取所述消息模块2产生的消息,以及所述对象的变量值。
消息处理模块5,用于根据变量值选择消息处理函数,并对所述消息进行处理。
还包括定时模块4,用于判断是否有消息产生,并根据变量值判断有消息产生,在判断产生消息时,激活所述消息获取模块3和所述消息处理模块5。
优选的,本发明中与对象相关联的变量为主视窗、副视窗或内部控件视窗上的对象所相关联的变量,变量为自定义变量或软件开发平台中的向导中生成的变量。对象可以是主视窗、副视窗及内部控件视窗上的按钮和对话框。
以上所述本发明的具体实施方式,并不构成对本发明保护范围的限定。任何根据本发明的技术构思所作出的各种其他相应的改变与变形,均应包含在本发明权利要求的保护范围内。
Claims (10)
1.视窗类软件的消息响应及处理方法,其特征在于,包括以下步骤:
S1、将至少一个具有可变值的变量与视窗上的对象进行关联;
S2、所述对象根据用户对所述对象的操作指令,生成消息并修改与所述对象相关联的变量值;
S3、消息获取模块获取所述对象相关联的变量值,并判断是否存在与所述变量值所对应的消息处理模块:若是,则执行步骤S4;若否,则返回步骤S3;
S4、与所述变量值所对应的消息处理模块获取所述对象相关联的变量值,并对所述消息进行处理。
2.如权利要求1所述的视窗类软件的消息响应及处理方法,其特征在于,所述步骤S3中,通过定时器来启用所述消息获取模块,当所述对象相关联的变量激活所述定时器时,所述消息获取模块被启用,并获取消息。
3.如权利要求1所述的视窗类软件的消息响应及处理方法,其特征在于,所述步骤S4中,所述消息处理模块包括消息处理函数和消息设置函数。
4.如权利要求3所述的视窗类软件的消息响应及处理方法,其特征在于,当所述变量值对应所述消息处理模块中的消息处理函数时,所述消息处理函数对所述消息进行处理。
5.如权利要求3所述的视窗类软件的消息响应及处理方法,其特征在于,当所述变量值对应所述消息处理模块中的消息设置函数时,修改与所述对象相关联的变量值,将对象置于特定消息事件中,并执行步骤S2-S4。
6.如权利要求3所述的视窗类软件的消息响应及处理方法,其特征在于,当所述变量值对应所述消息处理模块中的消息设置函数时,修改与所述对象相关联的变量值,将对象置于特定消息事件中,并执行步骤S3-S4。
7.视窗类软件的消息响应及处理系统,其特征在于,包括以下模块:
变量生成模块,用于生成与对象相关联的至少一个具有可变值的变量;
消息模块,用于根据用户对所述对象的操作指令生成消息,并修改所述对象的变量值;
消息获取模块,用于获取所述消息模块产生的消息,以及所述对象的变量值;
消息处理模块,用于根据变量值选择消息处理函数,并对所述消息进行处理。
8.如权利要求7所述的视窗类软件的消息响应及处理系统,其特征在于,还包括定时模块,用于判断是否有消息产生,并根据变量值判断有消息产生,在判断产生消息时,激活所述消息获取模块和所述消息处理模块。
9.如权利要求7所述的视窗类软件的消息响应及处理系统,其特征在于,所述与对象相关联的变量为主视窗、副视窗或内部控件视窗上的对象所相关联的变量,所述变量为自定义变量或软件开发平台中的向导中生成的变量。
10.如权利要求7所述的视窗类软件的消息响应及处理系统,其特征在于,所述对象包括主视窗、副视窗及内部控件视窗上的按钮和对话框。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510586152.9A CN105159679A (zh) | 2015-09-15 | 2015-09-15 | 视窗类软件的消息响应和处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510586152.9A CN105159679A (zh) | 2015-09-15 | 2015-09-15 | 视窗类软件的消息响应和处理方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105159679A true CN105159679A (zh) | 2015-12-16 |
Family
ID=54800546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510586152.9A Pending CN105159679A (zh) | 2015-09-15 | 2015-09-15 | 视窗类软件的消息响应和处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105159679A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060271845A1 (en) * | 2005-05-31 | 2006-11-30 | Butlin Stefan G | Automatic updating of variables in a data language |
US20090307699A1 (en) * | 2008-06-06 | 2009-12-10 | Munshi Aaftab A | Application programming interfaces for data parallel computing on multiple processors |
CN101960423A (zh) * | 2008-03-21 | 2011-01-26 | 日本三菱东京日联银行股份有限公司 | 应用开发辅助装置、程序以及记录介质 |
CN105144003A (zh) * | 2013-03-04 | 2015-12-09 | 三菱电机株式会社 | 程序开发辅助装置及其方法 |
-
2015
- 2015-09-15 CN CN201510586152.9A patent/CN105159679A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060271845A1 (en) * | 2005-05-31 | 2006-11-30 | Butlin Stefan G | Automatic updating of variables in a data language |
CN101185062A (zh) * | 2005-05-31 | 2008-05-21 | 高通股份有限公司 | 数据语言中变量的自动更新 |
CN101960423A (zh) * | 2008-03-21 | 2011-01-26 | 日本三菱东京日联银行股份有限公司 | 应用开发辅助装置、程序以及记录介质 |
CN101960423B (zh) * | 2008-03-21 | 2013-07-24 | 日本三菱东京日联银行股份有限公司 | 应用开发辅助装置 |
US20090307699A1 (en) * | 2008-06-06 | 2009-12-10 | Munshi Aaftab A | Application programming interfaces for data parallel computing on multiple processors |
CN105144003A (zh) * | 2013-03-04 | 2015-12-09 | 三菱电机株式会社 | 程序开发辅助装置及其方法 |
Non-Patent Citations (4)
Title |
---|
LJAXC: "怎样实现每点击一次按钮变量增加一?", 《HTTPS://ZHIDAO.BAIDU.COM/QUESTION/56872370.HTML?QBL=RELATE_QUESTION_1&WORD=%B0%B4%C5%A5%20%B1%E4%C1%BF》 * |
YEYUEHEI的专栏: "按钮点击1次,点击3次和点击6次触发不同的事件", 《HTTPS://BLOG.CSDN.NET/YEYUEHEI/ARTICLE/DETAILS/44625245》 * |
鸡啄米: "VS2010/MFC编程入门之九(对话框:为控件添加消息处理函数)", 《HTTP://WWW.JIZHUOMI.COM/SOFTWARE/156.HTML》 * |
鸡啄米: "VS2010/MFC编程入门之四十四(MFC常用类:定时器Timer)", 《HTTP://WWW.JIZHUOMI.COM/SOFTWARE/232.HTML》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8407661B2 (en) | Method and system for creating HMI applications for an automation process | |
Tolvanen et al. | Defining domain-specific modeling languages to automate product derivation: Collected experiences | |
EP3252591A1 (en) | Group chat method and device | |
EP3477635A1 (en) | System and method for natural language processing | |
WO2018050036A1 (zh) | 通讯方法及装置 | |
US20230289198A1 (en) | Configuring application scene | |
CN102521040B (zh) | 数据挖掘方法及系统 | |
CN109189295A (zh) | 显示控制方法、装置及终端设备 | |
CN109446832A (zh) | 一种截屏方法及装置 | |
CN110825594B (zh) | 数据的上报、下发方法、客户端及服务器 | |
CN110162730B (zh) | 信息处理方法、装置、计算机设备及存储介质 | |
CN103885816A (zh) | 一种实时嵌入式系统的仿真方法 | |
CN104598133B (zh) | 对象的说明书生成方法和装置 | |
CN104899042B (zh) | 一种嵌入式机器视觉检测程序开发方法及系统 | |
CN104915244B (zh) | 键鼠脚本回放的方法及装置 | |
CN106201511A (zh) | 创建模态对话框的方法及装置 | |
CN106155513B (zh) | 一种投影触屏的控制方法及装置 | |
CN105159679A (zh) | 视窗类软件的消息响应和处理方法及系统 | |
CN106406666A (zh) | 应用程序图标的处理方法及装置 | |
CN107844327B (zh) | 一种实现上下文一致性的检测系统及检测方法 | |
CN103034661A (zh) | 电子装置及其快速开启网页的方法 | |
WO2015172401A1 (zh) | 一种程序间通信再编程软件设计实现及人机交互方法 | |
CN106202418A (zh) | 一种用于智能机器人的图片数据收集方法及系统 | |
Zhang | Aspect-Oriented UI Modeling with State Machines | |
CN107748751B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151216 |
|
RJ01 | Rejection of invention patent application after publication |