📄 comsetting.cpp
字号:
// COMSetting.cpp : implementation file
//
#include "stdafx.h"
#include "sms.h"
#include "COMSetting.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CSMSApp theApp;
/////////////////////////////////////////////////////////////////////////////
// CCOMSetting dialog
CCOMSetting::CCOMSetting(CWnd* pParent /*=NULL*/)
: CDialog(CCOMSetting::IDD, pParent)
{
//{{AFX_DATA_INIT(CCOMSetting)
//}}AFX_DATA_INIT
}
void CCOMSetting::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CCOMSetting)
DDX_Control(pDX, IDC_COM_PORE, m_ComPore);
DDX_Control(pDX, IDC_STOP_BIT, m_StopBit);
DDX_Control(pDX, IDC_PARITY, m_ParityCtrl);
DDX_Control(pDX, IDC_BYTE_SIZE, m_BtyeSizeCtrl);
DDX_Control(pDX, IDC_BAUD_RATE, m_BaudRateCtrl);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CCOMSetting, CDialog)
//{{AFX_MSG_MAP(CCOMSetting)
ON_BN_CLICKED(IDC_RESET, OnReset)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
BOOL CCOMSetting::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
//////////////////////////////////////////////////////////////////////////
//取出所有的COM端口并添加进下进拉列表框中
vector<CString> vecCStr;
CSerialPort::GetCOMList(vecCStr);
size_t length=vecCStr.size();
int i=0;
for(;i<length;i++)
{
m_ComPore.InsertString(i,vecCStr[i]);
}
m_ComPore.SetCurSel(0);//设置当前选择的项,即默认选项
//////////////////////////////////////////////////////////////////////////
//波特率
m_BaudRateCtrl.AddString("110");
m_BaudRateCtrl.AddString("300");
m_BaudRateCtrl.AddString("1200");
m_BaudRateCtrl.AddString("2400");
m_BaudRateCtrl.AddString("4800");
m_BaudRateCtrl.AddString("9600");
m_BaudRateCtrl.AddString("19200");
m_BaudRateCtrl.AddString("38400");
m_BaudRateCtrl.AddString("57600");
m_BaudRateCtrl.AddString("115200");
m_BaudRateCtrl.AddString("230400");
m_BaudRateCtrl.AddString("460800");
m_BaudRateCtrl.AddString("921600");
m_BaudRateCtrl.SetCurSel(5);
//////////////////////////////////////////////////////////////////////////
//设置数据位
m_BtyeSizeCtrl.AddString("5");
m_BtyeSizeCtrl.AddString("6");
m_BtyeSizeCtrl.AddString("7");
m_BtyeSizeCtrl.AddString("8");
m_BtyeSizeCtrl.SetCurSel(3);
//////////////////////////////////////////////////////////////////////////
//奇偶校验
m_ParityCtrl.AddString("偶校验");
m_ParityCtrl.AddString("奇校验");
m_ParityCtrl.AddString("无");
m_ParityCtrl.AddString("标记");
m_ParityCtrl.AddString("空格");
m_ParityCtrl.SetCurSel(2);
//////////////////////////////////////////////////////////////////////////
//停止位
m_StopBit.AddString("1");
m_StopBit.AddString("1.5");
m_StopBit.AddString("2");
m_StopBit.SetCurSel(0);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CCOMSetting::OnReset()
{
// TODO: Add your control notification handler code here
m_ComPore.SetCurSel(0);//设置当前选择的项,即默认选项
m_BaudRateCtrl.SetCurSel(5);//波特
m_BtyeSizeCtrl.SetCurSel(3);//数据位
m_ParityCtrl.SetCurSel(2);//奇偶
m_StopBit.SetCurSel(0);//停止位
}
void CCOMSetting::OnOK()
{
// TODO: Add extra validation here
m_ComPore.GetWindowText(theApp.m_ComPortName);
TRACE("%s\n",theApp.m_ServeCenterNumber);
m_BaudRateCtrl.GetWindowText(theApp.m_ComConfigInfo.BaudRate);
m_BtyeSizeCtrl.GetWindowText(theApp.m_ComConfigInfo.ByteSize);
m_ParityCtrl.GetWindowText(theApp.m_ComConfigInfo.Parity);
m_StopBit.GetWindowText(theApp.m_ComConfigInfo.StopBits);
CDialog::OnOK();
}
BOOL CCOMSetting::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if (pMsg->message == WM_KEYDOWN)
{
//if (pMsg->wParam == VK_RETURN) return TRUE;
if (pMsg->wParam == VK_ESCAPE) return TRUE;
}
return CDialog::PreTranslateMessage(pMsg);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -