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

📄 portsetdlg.cpp

📁 用vc实现嵌入式系统的串行通讯
💻 CPP
字号:
// PortSetDlg.cpp : implementation file
//

#include "stdafx.h"
#include "PCSerialTest.h"
#include "PortSetDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CPortSetDlg dialog


CPortSetDlg::CPortSetDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CPortSetDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CPortSetDlg)
	//}}AFX_DATA_INIT
}


void CPortSetDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CPortSetDlg)
	DDX_Control(pDX, IDC_DATE_TYPE, m_DataType);
	DDX_Control(pDX, IDC_PORT_STOP_COMBO, m_StopData);
	DDX_Control(pDX, IDC_PORT_JIAOYAN_COMBO, m_JiaoYan);
	DDX_Control(pDX, IDC_PORT_DATEWEI_COMBO, m_DataSize);
	DDX_Control(pDX, IDC_PORT_BOTELV_COMBO, m_BoteLv);
	DDX_Control(pDX, IDC_OUT_BUFFER, m_OutputBuffer);
	DDX_Control(pDX, IDC_PORT_NUM_COMBO, m_PortNum);
	DDX_Control(pDX, IDC_OUT_INTERVAL, m_OutPutInterval);
	//}}AFX_DATA_MAP
}


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

/////////////////////////////////////////////////////////////////////////////
// CPortSetDlg message handlers

BOOL CPortSetDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_BoteLv.InsertString (0, "19200");
	m_BoteLv.InsertString (1, "9600");
	m_BoteLv.InsertString (2, "2400");
	m_BoteLv.SetCurSel (1);

	m_DataSize.InsertString (0, "8");
	m_DataSize.InsertString (1, "7");
	m_DataSize.InsertString (2, "6");
	m_DataSize.SetCurSel (0);

	m_DataType.InsertString (0, "ASCII");
	m_DataType.InsertString (1, "16 byte");
	m_DataType.SetCurSel (0);

	m_JiaoYan.InsertString (0, "None");
	m_JiaoYan.InsertString (1, "Odd");
	m_JiaoYan.InsertString (2, "Even");
	m_JiaoYan.InsertString (3, "Mark");
	m_JiaoYan.InsertString (4, "Space");
	m_JiaoYan.SetCurSel (0);
	
	m_OutputBuffer.InsertString (0, "512");
	m_OutputBuffer.InsertString (1, "256");
	m_OutputBuffer.SetCurSel (0);

	m_OutPutInterval.InsertString (0, "1000mS");
	m_OutPutInterval.InsertString (1, "2000mS");
	m_OutPutInterval.InsertString (2, "3000mS");
	m_OutPutInterval.SetCurSel (0);

	m_PortNum.InsertString (0, "1");
	m_PortNum.InsertString (1, "2");
	m_PortNum.InsertString (2, "3");
	m_PortNum.SetCurSel (0);

	m_StopData.InsertString (0, "1");
	m_StopData.InsertString (1, "1.5");
	m_StopData.InsertString (2, "2");
	m_StopData.SetCurSel (0);

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CPortSetDlg::OnOK() 
{
	// TODO: Add extra validation here
	m_nPort = m_PortNum.GetCurSel () + 1;
	
	switch (m_OutPutInterval.GetCurSel ())
	{
	case 0:
		m_nTime = 1000;
		break;
	case 1:
		m_nTime = 2000;
		break;
	case 2:
		m_nTime = 3000;
		break;
	default:
		m_nTime = 1000;
		break;
	}

	CString str1, str2, str3, str4;

	switch (m_BoteLv.GetCurSel ())
	{
	case 0:
		str1 = "19200,";
		break;
	case 1:
		str1 = "9600,";
		break;
	case 2:
		str1 = "2400,";
		break;
	default:
		break;
	}

	switch (m_JiaoYan.GetCurSel ())
	{
	case 0:
		str2 = "n,";
		break;
	case 1:
		str2 = "o,";
		break;
	case 2:
		str2 = "e,";
		break;
	case 3:
		str2 = "m,";
		break;
	default:
		break;
	}

	switch (m_DataSize.GetCurSel ())
	{
	case 0:
		str3 = "8,";
		break;
	case 1:
		str3 = "7,";
		break;
	case 2:
		str3 = "6,";
		break;
	default:
		break;
	}

	switch (m_StopData.GetCurSel ())
	{
	case 0:
		str4 = "1";
		break;
	case 1:
		str4 = "1.5";
		break;
	case 2:
		str4 = "2";
		break;
	default:
		break;
	}

	m_strSettings = str1 + str2 + str3 + str4;
	
	CDialog::OnOK();
}

⌨️ 快捷键说明

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