⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 configdlg.cpp

📁 使用多线程对串口进行数据传输程序。本代码主要是对串口的测试。其中SerialPort类提供对串口的读写
💻 CPP
字号:
// ConfigDlg.cpp : implementation file
//

#include "stdafx.h"
#include "串口监视.h"
#include "ConfigDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CConfigDlg dialog


CConfigDlg::CConfigDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CConfigDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CConfigDlg)
	m_strBaudRate = _T("9600");
	m_strDataBits = _T("8");
	m_strParity = _T("NONE");
	m_strStopBits = _T("1");
	m_CommBreakDetected = FALSE;
	m_CommCTSDetected = FALSE;
	m_CommDSRDetected = FALSE;
	m_CommERRDetected = FALSE;
	m_CommRingDetected = FALSE;
	m_CommRLSDDetected = FALSE;
	m_CommRxchar = TRUE;
	m_CommRxcharFlag = FALSE;
	m_CommTXEmpty = FALSE;
	m_strSendBuffer = _T("512");
	//}}AFX_DATA_INIT
}

CConfigDlg::CConfigDlg(CWnd* pParent, DCB dcb)
	: CDialog(CConfigDlg::IDD, pParent)
{
	m_dcb = dcb;
}


void CConfigDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CConfigDlg)
	DDX_CBString(pDX, IDC_BAUDRATECOMBO, m_strBaudRate);
	DDX_CBString(pDX, IDC_DATABITSCOMBO, m_strDataBits);
	DDX_CBString(pDX, IDC_PARITYCOMBO, m_strParity);
	DDX_CBString(pDX, IDC_STOPBITSCOMBO, m_strStopBits);
	DDX_Check(pDX, IDC_CHECK1, m_CommBreakDetected);
	DDX_Check(pDX, IDC_CHECK2, m_CommCTSDetected);
	DDX_Check(pDX, IDC_CHECK3, m_CommDSRDetected);
	DDX_Check(pDX, IDC_CHECK4, m_CommERRDetected);
	DDX_Check(pDX, IDC_CHECK5, m_CommRingDetected);
	DDX_Check(pDX, IDC_CHECK6, m_CommRLSDDetected);
	DDX_Check(pDX, IDC_CHECK7, m_CommRxchar);
	DDX_Check(pDX, IDC_CHECK8, m_CommRxcharFlag);
	DDX_Check(pDX, IDC_CHECK9, m_CommTXEmpty);
	DDX_CBString(pDX, IDC_SENDBUFFERCOMBO, m_strSendBuffer);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CConfigDlg, CDialog)
	//{{AFX_MSG_MAP(CConfigDlg)
		// NOTE: the ClassWizard will add message map macros here
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CConfigDlg message handlers
BOOL CConfigDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	CString strTemp;
	strTemp.Format("%d", m_dcb.BaudRate);
	((CComboBox*)GetDlgItem(IDC_BAUDRATECOMBO))->SelectString(0, strTemp);

	((CComboBox*)GetDlgItem(IDC_PARITYCOMBO))->SetCurSel(m_dcb.Parity);

	((CComboBox*)GetDlgItem(IDC_STOPBITSCOMBO))->SetCurSel(m_dcb.StopBits);

	strTemp.Format("%d", m_dcb.ByteSize);
	((CComboBox*)GetDlgItem(IDC_DATABITSCOMBO))->SelectString(0, strTemp);
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}
																  
void CConfigDlg::OnOK() 
{
	// TODO: Add extra validation here
	int i = 0;
	UpdateData(TRUE);
	if(m_strBaudRate.IsEmpty())
		i= 1;
	if(m_strDataBits.IsEmpty())
		i = 2;
	if(m_strParity.IsEmpty())
		i = 3;
	if(m_strStopBits.IsEmpty()) 
		i = 4;
	if(m_strSendBuffer.IsEmpty())
		i = 5;
	if( i > 0)
	{
		AfxMessageBox("没有完成选项 !");
		return;
	}
	CDialog::OnOK();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -