1.建立项目:
打开 VC++6.0,建立一个基于对话框的 MFC 应用程序 SCommTest;
2.在项目中插入 MSComm 控件
选择 Project 菜单下 Add To Project 子菜单中的 Components and Controls…选
项,在弹出的对话框中双击 Registered ActiveX Controls 项(稍等一会,这个
过程较慢),则所有注册过的 ActiveX 控件出现在列表框中。 选择 Microsoft
Communications Control, version 6.0,,单击 Insert 按钮将它插入到我们的
Project 中来,接受缺省的选项。(如果你在控件列表中看不到 Microsoft
Communications Control, version 6.0,那可能是你在安装 VC6 时没有把
ActiveX 一项选上,重新安装 VC6,选上 ActiveX 就可以了),
这时在 ClassView 视窗中就可以看到 CMSComm 类了,(注意:此类在
ClassWizard 中看不到,重构 clw 文件也一样),并且在控件工具栏 Controls
中出现了电话图标(如图 1 所示),现在要做的是用鼠标将此图标拖到对话框
中,程序运行后,这个图标是看不到的。
3.利用 ClassWizard 定义 CMSComm 类控制对象
打开 ClassWizard->Member Viariables 选项卡,选择 CSCommTestDlg 类,
为 IDC_MSCOMM1 添加控制变量:m_ctrlComm,这时你可以看一看,在对话
框头文件中自动加入了//{{AFX_INCLUDES() #i nclude
"mscomm.h" //}}AFX_INCLUDES 。
4.在对话框中添加控件
9
向主对话框中添加两个编辑框,一个用于接收显示数据 ID 为
IDC_EDIT_RXDATA,另一个用于输入发送数据,ID 为
IDC_EDIT_TXDATA,再添加一个按钮,功能是按一次就把发送编辑框中的内
容发送一次,将其 ID 设为 IDC_BUTTON_MANUALSEND。别忘记了将接收编
辑框的 Properties->Styles 中把 Miltiline 和 Vertical Scroll 属性选上,发送编辑
框若你想输入多行文字,也可选上 Miltiline。
再打开 ClassWizard->Member Viariables 选项卡,选择 CSCommTestDlg 类,
为 IDC_EDIT_RXDATA 添加 CString 变量 m_strRXData, 为
IDC_EDIT_TXDATA 添加 CString 变量 m_strTXData。说明: m_strRXData 和
m_strTXData 分别用来放入接收和发送的字符数据。
5.添加串口事件消息处理函数 OnComm()
打开 ClassWizard->Message Maps,选择类 CSCommTestDlg,选择
IDC_MSCOMM1,双击消息 OnComm,将弹出的对话框中将函数名改为
OnComm。
这个函数是用来处理串口消息事件的,如每当串口接收到数据,就会产生一个
串口接收数据缓冲区中有字符的消息事件,我们刚才添加的函数就会执行,我
- 1
- 2
- 3
前往页