CorpSms/DLG_SYSSetup.cpp
2025-02-27 16:58:16 +08:00

234 lines
5.8 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 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);
}
}