嵌入通讯控件
来源:互联网 发布:红外人流量计数单片机 编辑:程序博客网 时间:2024/05/21 07:37
一. 在程序中嵌入通讯控件
启动Visual C++5.0,利用MFC AppWizard(exe)新建一个项目文件,并命名为CommTest,在AppWizard第一步选择基于对话框的应用程序类型(Dialog based),在第二步将ActiveX Controls复选框选中,表示本程序支持ActiveX控件。其他均接收缺省设置,AppWizard将自动生成一个以对话框为主窗口的应用程序。下面我们将在该程序中加入通讯控件。在Resource View中打开对话框(IDD_COMMTEST_DIALOG),将其修改为如图一所示的对话框。注意将对话框的语言属性改为Chinese(P.R.C)。
单击Project菜单,从菜单中选择Add to Project,再单击Components and Controls,从弹出的对话框中单击Registered ActiveX Controls,然后在列表框中选择Microsoft Communications Control,version 5.0,单击OK。这时会询问你是否加入CMSComm类,单击OK,返回后就会看到控件工具条上添加了一个通讯控件(形状如电话机),将其拖放到对话框上,同时注意到Project中新增加了一个类。通过查看类MSComm的源文件mscomm.cpp,我们可以了解这个控件的属性和使用方法,其中的Get…函数可以用来访问该属性的当前值,而Set…函数则用来设置该属性的新值。
二. 设置通讯控件的属性值
激活通讯控件的属性对话框,一些重要的属性及其说明如表一所示:
属 性
设定值
说 明
CommPort
2
串口号,一般串口为鼠标所用,故用串口2
InBufferSize
1024
接收缓冲区大小
InputLen
0
从接收缓冲区读取的字节数,0表示全部读取
InputMode
1
接收数据的类型,0表示文本类型,1表示二进制类型
OutBufferSize
1024
发送缓冲区大小
RThreshold
1
设定当接收几个字符时触发OnComm事件,0表示不产生事件,1表示每接收一个字符就产生一个事件
SThreshold
0
设定在触发OnComm事件前,发送缓冲区内所允许的最少的字符数,0表示发送数据时不产生事件,1表示当发送缓冲区空时产生OnComm事件
Settings
9600,n,8,1
串口的参数设置,依次为波特率、奇偶校验(n-无校验,e-偶校验,o-奇校验)、数据位数、停止位数
表1 串口属性及说明
上面表中的属性设定值是本例程中所用的值,可根据需要灵活设定。至于其它的属性可采用缺省值,其说明可参考联机帮助文件。
通讯控件的工作原理类似与中断方式,当有通讯事件发生时(如发送数据、接收数据等),就会触发OnComm事件,在该事件的处理函数中调用GetCommEvent()函数,通过返回值即可确定是那类事件,再做出相应的处理。
三. 主程序的编制
首先我们为对话框中的控件添加对应的变量和响应函数。具体做法如表二所示:
控件名称
控件ID
对应变量或函数
发送数据编辑框
IDC_SENDDATA
m_SendData
接收数据编辑框
IDC_RECEIVEDATA
m_ ReceiveData
发送按钮
IDC_SEND
OnSend()
清除按钮
IDC_CLEAR
OnClear()
通讯控件
IDC_MSCOMM
m_Comm
表2 添加控件表
启动Visual C++5.0,利用MFC AppWizard(exe)新建一个项目文件,并命名为CommTest,在AppWizard第一步选择基于对话框的应用程序类型(Dialog based),在第二步将ActiveX Controls复选框选中,表示本程序支持ActiveX控件。其他均接收缺省设置,AppWizard将自动生成一个以对话框为主窗口的应用程序。下面我们将在该程序中加入通讯控件。在Resource View中打开对话框(IDD_COMMTEST_DIALOG),将其修改为如图一所示的对话框。注意将对话框的语言属性改为Chinese(P.R.C)。
单击Project菜单,从菜单中选择Add to Project,再单击Components and Controls,从弹出的对话框中单击Registered ActiveX Controls,然后在列表框中选择Microsoft Communications Control,version 5.0,单击OK。这时会询问你是否加入CMSComm类,单击OK,返回后就会看到控件工具条上添加了一个通讯控件(形状如电话机),将其拖放到对话框上,同时注意到Project中新增加了一个类。通过查看类MSComm的源文件mscomm.cpp,我们可以了解这个控件的属性和使用方法,其中的Get…函数可以用来访问该属性的当前值,而Set…函数则用来设置该属性的新值。
二. 设置通讯控件的属性值
激活通讯控件的属性对话框,一些重要的属性及其说明如表一所示:
属 性
设定值
说 明
CommPort
2
串口号,一般串口为鼠标所用,故用串口2
InBufferSize
1024
接收缓冲区大小
InputLen
0
从接收缓冲区读取的字节数,0表示全部读取
InputMode
1
接收数据的类型,0表示文本类型,1表示二进制类型
OutBufferSize
1024
发送缓冲区大小
RThreshold
1
设定当接收几个字符时触发OnComm事件,0表示不产生事件,1表示每接收一个字符就产生一个事件
SThreshold
0
设定在触发OnComm事件前,发送缓冲区内所允许的最少的字符数,0表示发送数据时不产生事件,1表示当发送缓冲区空时产生OnComm事件
Settings
9600,n,8,1
串口的参数设置,依次为波特率、奇偶校验(n-无校验,e-偶校验,o-奇校验)、数据位数、停止位数
表1 串口属性及说明
上面表中的属性设定值是本例程中所用的值,可根据需要灵活设定。至于其它的属性可采用缺省值,其说明可参考联机帮助文件。
通讯控件的工作原理类似与中断方式,当有通讯事件发生时(如发送数据、接收数据等),就会触发OnComm事件,在该事件的处理函数中调用GetCommEvent()函数,通过返回值即可确定是那类事件,再做出相应的处理。
三. 主程序的编制
首先我们为对话框中的控件添加对应的变量和响应函数。具体做法如表二所示:
控件名称
控件ID
对应变量或函数
发送数据编辑框
IDC_SENDDATA
m_SendData
接收数据编辑框
IDC_RECEIVEDATA
m_ ReceiveData
发送按钮
IDC_SEND
OnSend()
清除按钮
IDC_CLEAR
OnClear()
通讯控件
IDC_MSCOMM
m_Comm
表2 添加控件表
- 嵌入通讯控件
- 控件中嵌入资源
- 自定义控件:嵌入资源
- maximo7控件嵌入成功
- serialport 控件 串口通讯
- PB中嵌入webbrowser控件
- ComboBoxTree--tree控件嵌入combobox
- cocoa应用程序嵌入浏览器控件
- GridView中嵌入其他控件
- Winform-WebBrowser控件嵌入网页
- MFC webbrowser控件嵌入网页
- 串口通讯控件MyComm使用手册
- 串口通讯mscomm控件下载
- 将自定义.NET控件嵌入IE浏览器
- 将自定义.NET控件嵌入IE浏览器
- .net 2.0 控件中嵌入资源
- 在网页中嵌入远程桌面 ActiveX 控件
- Excel控件嵌入maximo(新增示例图)
- C和Java哪种语言更好?
- prototype例子--ajax无刷新用户登录
- 荀子:《劝学篇》
- C++尽可能就用const
- 北大教授讲健康养生之道:千万不要死于无知
- 嵌入通讯控件
- vtigercrm安装部署
- 新一篇: 设计模式之管道和过滤器的应用
- 不抱怨
- 必备工具软件下载地址集合
- IE浏览器背景图的修改
- 美国通信巨头强力支持P4P技术
- SQLite中的自增长字段
- 2008.5.24软考之旅