CorpSms/DLG_SYSSetup.cpp

234 lines
5.8 KiB
C++
Raw Normal View History

2025-02-27 16:58:16 +08:00
// DLG_SYSSetup.cpp : implementation file
//
#include "stdafx.h"
#include "corpsms.h"
#include "DLG_SYSSetup.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// DLG_SYSSetup dialog
#include "DLG_GroupSelect.h"
DLG_SYSSetup::DLG_SYSSetup(CWnd* pParent /*=NULL*/)
: CDialog(DLG_SYSSetup::IDD, pParent)
{
//{{AFX_DATA_INIT(DLG_SYSSetup)
m_bAutoRecord = FALSE;
m_strGroup = _T("");
m_strAutoRecv = _T("");
m_bAutoExRe = FALSE;
//}}AFX_DATA_INIT
memset(&m_Setup,0,sizeof(m_Setup));
}
void DLG_SYSSetup::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(DLG_SYSSetup)
DDX_Control(pDX, IDC_SYSSETUP_AUTOREAD, m_B_AutoRead);
DDX_Control(pDX, IDC_SYSSETUP_BAUDRATE, m_L_Baudrate);
DDX_Control(pDX, IDC_SYSSETUP_MOBILETYPE, m_L_Type);
DDX_Control(pDX, IDC_SYSSETUP_PORT, m_L_Com);
DDX_Control(pDX, IDC_SYSSETUP_USEMOBILE, m_B_UseMobile);
DDX_Control(pDX, IDC_SYSSETUP_AUTOREMSG, m_E_AutoReMsg);
DDX_Control(pDX, IDC_SYSSETUP_AUTORE, m_B_AutoRe);
DDX_Control(pDX, IDC_SYSSETUP_AUTODELETE, m_B_AutoDelete);
DDX_Control(pDX, IDC_SYSSETUP_AUTOCLEARE, m_E_AutoClear);
DDX_Check(pDX, IDC_SYSSETUP_AUTORECORD, m_bAutoRecord);
DDX_Text(pDX, IDC_SYSSETUP_AUTORECORDGROUP, m_strGroup);
DDX_Text(pDX, IDC_SYSSETUP_AUTORERECV, m_strAutoRecv);
DDV_MaxChars(pDX, m_strAutoRecv, 22);
DDX_Check(pDX, IDC_SYSSETUP_AUTOEXRE, m_bAutoExRe);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(DLG_SYSSetup, CDialog)
//{{AFX_MSG_MAP(DLG_SYSSetup)
ON_BN_CLICKED(IDC_SYSSETUP_USEMOBILE, OnSyssetupUsemobile)
ON_BN_CLICKED(IDC_SYSSETUP_AUTODELETE, OnSyssetupAutodelete)
ON_BN_CLICKED(IDC_SYSSETUP_AUTORE, OnSyssetupAutore)
ON_CBN_EDITCHANGE(IDC_SYSSETUP_PORT, OnEditchangeSyssetupPort)
ON_CBN_SELCHANGE(IDC_SYSSETUP_MOBILETYPE, OnSelchangeSyssetupMobiletype)
ON_BN_CLICKED(IDC_SYSSETUP_AUTORECORDSELGROUP, OnSyssetupAutorecordselgroup)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// DLG_SYSSetup message handlers
void DLG_SYSSetup::SetParam(SM_Setup setup)
{
m_Setup = setup;
}
SM_Setup DLG_SYSSetup::GetParam()
{
return m_Setup;
}
BOOL DLG_SYSSetup::OnInitDialog()
{
CDialog::OnInitDialog();
TCHAR Buf[32]={0};
m_L_Type.SetCurSel( m_Setup.lMobileType );
if ( m_Setup.lBaudrate <= 0 )
{
m_L_Baudrate.SelectString( -1 , _T("19200") ); //Ĭ<><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
else
{
m_L_Baudrate.SelectString( -1 , _ltot( m_Setup.lBaudrate , Buf , 10 ) );
}
m_B_UseMobile.SetCheck( m_Setup.bUseMobile );
m_L_Com.LimitText(3);
m_L_Com.InsertString( 0 , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") );
for ( int i=0 ; i< 64 ; i++ )
{
_stprintf( Buf , _T("COM%d") , i+1 );
m_L_Com.InsertString( i+1 , Buf );
}
ReSetIrDaSel();
m_L_Com.SetCurSel(m_Setup.lPort);
m_B_AutoRead.SetCheck( m_Setup.bAutoRead );
m_B_AutoDelete.SetCheck( m_Setup.bAutoDelete );
m_E_AutoClear.SetWindowText(_ltot(m_Setup.lAutoClearCount , Buf , 10 ));
m_E_AutoClear.LimitText( 2 );
m_B_AutoRe.SetCheck( m_Setup.bAutoRe );
m_E_AutoReMsg.SetWindowText( m_Setup.szAutoRe );
m_E_AutoReMsg.LimitText( sizeof(m_Setup.szAutoRe)-8 );
m_strAutoRecv = m_Setup.szAutoRecv;
m_bAutoExRe = m_Setup.bAutoExRe;
m_bAutoRecord = m_Setup.bAutoRecord;
m_strGroup = m_Setup.szGroup;
UpdateData(false);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void DLG_SYSSetup::OnSyssetupUsemobile()
{
}
void DLG_SYSSetup::OnSyssetupAutodelete()
{
}
void DLG_SYSSetup::OnSyssetupAutore()
{
}
void DLG_SYSSetup::OnEditchangeSyssetupPort()
{
}
void DLG_SYSSetup::ReSetIrDaSel()
{
long lType = m_L_Type.GetCurSel();
if ( lType == 1 ) //<2F>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>ΪNokia,<2C><><EFBFBD>Կ<EFBFBD><D4BF><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߡ<EFBFBD>
{
m_L_Com.DeleteString(0);
m_L_Com.InsertString( 0 , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") );
}
else
{
m_L_Com.DeleteString(0);
m_L_Com.InsertString( 0 , _T(" ") );
}
}
void DLG_SYSSetup::OnOK()
{
if ( !UpdateData(true) )
return ;
TCHAR Buf[32];
m_Setup.bUseMobile = m_B_UseMobile.GetCheck();
m_Setup.lPort = m_L_Com.GetCurSel();
m_Setup.lMobileType = m_L_Type.GetCurSel();
m_L_Baudrate.GetWindowText(Buf , sizeof(Buf) );
m_Setup.lBaudrate = _ttol( Buf );
m_Setup.bAutoRead = m_B_AutoRead.GetCheck();
m_Setup.bAutoDelete = m_B_AutoDelete.GetCheck();
m_E_AutoClear.GetWindowText(Buf , sizeof(Buf) );
m_Setup.lAutoClearCount = _ttol(Buf);
m_Setup.bAutoRe = m_B_AutoRe.GetCheck();
m_E_AutoReMsg.GetWindowText(m_Setup.szAutoRe , sizeof(m_Setup.szAutoRe) );
_tcscpy(m_Setup.szAutoRecv , m_strAutoRecv );
m_Setup.bAutoExRe = m_bAutoExRe;
m_Setup.bAutoRecord = m_bAutoRecord;
_tcscpy(m_Setup.szGroup,m_strGroup);
if ( m_Setup.lMobileType == 0 ) //<2F><>׼GSM<53>ֻ<EFBFBD>
{
if ( m_Setup.lPort <= 0 )
{
MessageBox( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>!") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_OK|MB_ICONWARNING );
return ;
}
}
if ( m_Setup.bAutoRe && _tcslen(m_Setup.szAutoRe)<=0 )
{
MessageBox( _T("<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ûظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>!") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_OK|MB_ICONWARNING );
return ;
}
if ( m_Setup.bAutoRecord && _tcslen(m_Setup.szGroup)<=0 )
{
MessageBox( _T("<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>!") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_OK|MB_ICONWARNING );
return ;
}
CDialog::OnOK();
}
void DLG_SYSSetup::OnSelchangeSyssetupMobiletype()
{
long lType = m_L_Type.GetCurSel();
if ( lType == 1 ) //<2F>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>ΪNokia,<2C><><EFBFBD>Կ<EFBFBD><D4BF><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߡ<EFBFBD>
{
m_L_Baudrate.SelectString( -1 , _T("115200") );
}
else
{
m_L_Baudrate.SelectString( -1 , _T("19200") );
}
ReSetIrDaSel();
}
void DLG_SYSSetup::OnSyssetupAutorecordselgroup()
{
CMainFrame * pMainFrame = (CMainFrame *)this->GetParent();
DLG_GroupSelect dlg(this);
dlg.SetParam( pMainFrame );
if ( dlg.DoModal() == IDOK )
{
UpdateData(true);
dlg.GetParam(m_strGroup);
UpdateData(false);
}
}