VS2005和Win7系统下编写基于控件的MFC串口程序.docxVIP

  • 3
  • 0
  • 约7.44千字
  • 约 10页
  • 2015-10-16 发布于江苏
  • 举报

VS2005和Win7系统下编写基于控件的MFC串口程序.docx

VS2005和Win7系统下编写基于控件的MFC串口程序.docx

VS2005和Win7系统下编写基于控件的MFC串口程序 在VS2005中不带串口控件,那么第一步就是去下载或者复制一个mscomm32.ocx文件。如下图所示,将其拷贝到System32目录下,我的是D:\Windows\System32,如果你的win7系统在C盘,请注意目录位置。 第二步:在“开始”-“运行”-输入“regsvr32 mscomm32.ocx”以进行控件注册。 第三步:用VS2005建立一个基于MFC对话框的应用程序,工程名叫MFCComm。在资源对话框点鼠标右键,插入ActiveX控件,找到刚才注册成功的控件Microsoft Communications Control,version 6.0. 给插入的控件关联一个成员变量m_Comm。点控件-右键-添加变量,如下图所示 同时点控件-右键-添加事件处理程序,如下图,点击添加编辑即可。 该事件用于接受数据用,生成的代码为void CMFCCommDlg::OnCommMscomm1()。 最终设计的Dlg对话框如下,在接受编辑框内关联一个CString的数值变量m_strRecvData. 好了,现在开始编写程序, // MFCCommDlg.h : 头文件 // #pragma once #include mscomm1.h // CMFCCommDlg 对话框 class CMFCCommDlg : public CDialog { // 构造 public: CMFCCommDlg(CWnd* pParent = NULL); // 标准构造函数 // 对话框数据 enum { IDD = IDD_MFCCOMM_DIALOG }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 // 实现 protected: HICON m_hIcon; // 生成的消息映射函数 virtual BOOL OnInitDialog(); afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); afx_msg void OnTimer(UINT_PTR nIDEvent); afx_msg void OnDestroy(); virtual BOOL PreTranslateMessage(MSG* pMsg); DECLARE_MESSAGE_MAP() public: DECLARE_EVENTSINK_MAP() void OnCommMscomm1(); afx_msg void OnBnClickedSend(); // 初始化串口 void InitSerialPort(); int String2Hex(CString str,CByteArray senddata); char ConvertHexChar(char ch); public: CMscomm1 m_Comm; CString m_strRecvData; }; // MFCCommDlg.cpp : 实现文件 // #include stdafx.h #include MFCComm.h #include MFCCommDlg.h #ifdef _DEBUG #define new DEBUG_NEW #endif // 用于应用程序“关于”菜单项的 CAboutDlg 对话框 class CAboutDlg : public CDialog { public: CAboutDlg(); // 对话框数据 enum { IDD = IDD_ABOUTBOX }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 // 实现 protected: DECLARE_MESSAGE_MAP() }; CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) { } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) END_MESSAGE_MAP() // CMFCCommDlg 对话框 CMFCCommDlg::CMFCCommD

文档评论(0)

1亿VIP精品文档

相关文档