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

📄 commsetdlg.cpp

📁 串行通讯程序,为电池分析仪与电脑通讯软件,效果不错.
💻 CPP
字号:
// CommSetDlg.cpp : implementation file
//

#include "stdafx.h"
#include "DigitalPowerAnalyst.h"
#include "CommSetDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CCommSetDlg dialog


CCommSetDlg::CCommSetDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CCommSetDlg::IDD, pParent)
{	m_sPort = 1;
	m_nParity = 'N';
	m_nStopBits = 1;
	//{{AFX_DATA_INIT(CCommSetDlg)
	m_sBaud = 9600;
	m_sDataBits = 8;
	IsDlgShow=FALSE;
	//}}AFX_DATA_INIT
}

void CCommSetDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CCommSetDlg)
	DDX_Control(pDX, IDC_STOPBITS, m_ctrlStopBits);
	DDX_Control(pDX, IDC_PARITY, m_ctrlParity);
	DDX_Control(pDX, IDC_PORT, m_ctrlPort);
	DDX_Control(pDX, IDC_DATABITS, m_ctrlDataBits);
	DDX_Control(pDX, IDC_BAUD, m_ctrlBaud);
    DDX_Text(pDX, IDC_BAUD, m_sBaud);
	DDX_Text(pDX, IDC_DATABITS, m_sDataBits);
 
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CCommSetDlg, CDialog)
	//{{AFX_MSG_MAP(CCommSetDlg)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CCommSetDlg message handlers

BOOL CCommSetDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	//对对话框的显示情况进行初始化
	m_ctrlPort.AddString(_T("COM1"));
	m_ctrlPort.AddString(_T("COM2"));
	m_ctrlPort.AddString(_T("COM3"));
	m_ctrlPort.AddString(_T("COM4"));
	m_ctrlPort.SetCurSel(0);

	m_ctrlParity.AddString(_T("NONE"));
	m_ctrlParity.AddString(_T("EVEN"));
	m_ctrlParity.AddString(_T("ODD"));
	m_ctrlParity.SetCurSel(0);

	m_ctrlDataBits.AddString(_T("5"));
	m_ctrlDataBits.AddString(_T("6"));
	m_ctrlDataBits.AddString(_T("7"));
	m_ctrlDataBits.AddString(_T("8"));
	m_ctrlDataBits.SetCurSel(3);	

	m_ctrlBaud.AddString(_T("300"));
	m_ctrlBaud.AddString(_T("600"));
	m_ctrlBaud.AddString(_T("1200"));
	m_ctrlBaud.AddString(_T("2400"));
	m_ctrlBaud.AddString(_T("9600"));
	m_ctrlBaud.AddString(_T("14400"));
	m_ctrlBaud.AddString(_T("19200"));
	m_ctrlBaud.AddString(_T("38400"));
	m_ctrlBaud.AddString(_T("57600"));
	m_ctrlBaud.SetCurSel(4);

	m_ctrlStopBits.AddString(_T("1"));
	m_ctrlStopBits.AddString(_T("1.5"));
	m_ctrlStopBits.AddString(_T("2"));
	m_ctrlStopBits.SetCurSel(0);

	//GetDlgItem(IDC_PORT)->EnableWindow(!m_bConnected);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

//"确定"按钮的响应函数
void CCommSetDlg::OnOK() 
{
	// TODO: Add extra validation here
	UpdateData(TRUE);

	UpdateData(FALSE);
    m_sPort=m_ctrlPort.GetCurSel()+1;
	m_nStopBits = m_ctrlStopBits.GetCurSel()+1;
	m_nParity = m_ctrlParity.GetCurSel();
	switch (m_nParity)
	{
	case 0:
	m_nParity='N';
		break;
	case 1:
	m_nParity='E';
		break;
	case 2:
	m_nParity='O';
		break;
	default:
	m_nParity='N';
	}

//m_ComPort.InitPort(this,1,9600,'N',8,1)
//	nPort = m_nPort;
//	strSettings = m_strSettings;	
	CDialog::OnOK();
}

⌨️ 快捷键说明

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