CorpSms/DLG_TDSet_Modify.cpp

229 lines
6.2 KiB
C++
Raw Permalink Normal View History

2025-02-27 16:58:16 +08:00
// DLG_TDSet_Modify.cpp : implementation file
//
#include "stdafx.h"
#include "corpsms.h"
#include "DLG_TDSet_Modify.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// DLG_TDSet_Modify dialog
#include "FTDSet.h"
DLG_TDSet_Modify::DLG_TDSet_Modify(CWnd* pParent /*=NULL*/)
: CDialog(DLG_TDSet_Modify::IDD, pParent)
{
//{{AFX_DATA_INIT(DLG_TDSet_Modify)
m_bEnable = FALSE;
m_strBZ = _T("");
m_strMobile = _T("");
//}}AFX_DATA_INIT
m_pCliTDData = NULL;
memset(&m_CliTD,0,sizeof(m_CliTD));
memset(&m_TDSet,0,sizeof(m_TDSet));
m_pTDSet = (CFTDSet *)pParent;
m_lModifyCount = 0;
}
void DLG_TDSet_Modify::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(DLG_TDSet_Modify)
DDX_Control(pDX, IDD_CHANGETD_UNICOM, m_wndUnicom);
DDX_Control(pDX, IDD_CHANGETD_TELCOM, m_wndTelcom);
DDX_Control(pDX, IDD_CHANGETD_PHS, m_wndPhs);
DDX_Control(pDX, IDD_CHANGETD_CMCC, m_wndCmcc);
DDX_Control(pDX, IDD_CHANGETD_CW, m_B_CW);
DDX_Check(pDX, IDC_TDSET_MODIFY_ENABLE, m_bEnable);
DDX_Text(pDX, TDSET_MODIFY_BZ, m_strBZ);
DDV_MaxChars(pDX, m_strBZ, 120);
DDX_Text(pDX, TDSET_MODIFY_MOBILE, m_strMobile);
DDV_MaxChars(pDX, m_strMobile, 12);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(DLG_TDSet_Modify, CDialog)
//{{AFX_MSG_MAP(DLG_TDSet_Modify)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// DLG_TDSet_Modify message handlers
void DLG_TDSet_Modify::SetParam(ANS_CliSmsTD CliTD,BYTE * pCliTDData , ANS_TDSet_Data TDSet , long lModifyCount)
{
m_CliTD = CliTD;
m_pCliTDData = pCliTDData;
m_TDSet = TDSet;
m_lModifyCount = lModifyCount;
}
BOOL DLG_TDSet_Modify::OnInitDialog()
{
CDialog::OnInitDialog();
m_bEnable = m_TDSet.lStatus;
m_strMobile = m_TDSet.szMobile;
m_strBZ = m_TDSet.szBZ;
UpdateData(false);
m_B_CW.SetCheck(m_CliTD.bCW);
if ( !m_CliTD.bCliTD_CW )
m_B_CW.ShowWindow(SW_HIDE);
SC_CliTD * pRetTD_Cmcc = (SC_CliTD *)((BYTE*)m_pCliTDData);
SC_CliTD * pRetTD_Unicom = (SC_CliTD *)((BYTE*)m_pCliTDData+sizeof(SC_CliTD)*(m_CliTD.lCliTD_Cmcc));
SC_CliTD * pRetTD_Phs = (SC_CliTD *)((BYTE*)m_pCliTDData+sizeof(SC_CliTD)*(m_CliTD.lCliTD_Cmcc+m_CliTD.lCliTD_Unicom));
SC_CliTD * pRetTD_Telcom = (SC_CliTD *)((BYTE*)m_pCliTDData+sizeof(SC_CliTD)*(m_CliTD.lCliTD_Cmcc+m_CliTD.lCliTD_Unicom+m_CliTD.lCliTD_Phs));
//<2F><><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>
int j=0;
int iSel=0;
int iItem = m_wndCmcc.AddString(_T("Ĭ<EFBFBD><EFBFBD>"));
2025-04-11 17:19:25 +08:00
m_wndCmcc.SetItemData(iItem,(DWORD_PTR)'0');
2025-02-27 16:58:16 +08:00
for ( int i=0 ; i<m_CliTD.lCliTD_Cmcc ; i++ )
{
//int iItem = m_wndCmcc.AddString(pRetTD_Cmcc[i].szTDName);
CString str = pRetTD_Cmcc[i].szTDName;
int iItem = m_wndCmcc.AddString(str);
2025-04-11 17:19:25 +08:00
m_wndCmcc.SetItemData(iItem,(DWORD_PTR)pRetTD_Cmcc[i].cSrcTD);
2025-02-27 16:58:16 +08:00
if ( pRetTD_Cmcc[i].cSrcTD == m_TDSet.szTD[0] )
iSel = i+1;
}
m_wndCmcc.SetCurSel(iSel);
//<2F><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>
j=0;
iSel=0;
iItem = m_wndUnicom.AddString(_T("Ĭ<EFBFBD><EFBFBD>"));
2025-04-11 17:19:25 +08:00
m_wndUnicom.SetItemData(iItem,(DWORD_PTR)'0');
2025-02-27 16:58:16 +08:00
for ( i=0 ; i<m_CliTD.lCliTD_Unicom ; i++ )
{
CString str = pRetTD_Unicom[i].szTDName;
int iItem=m_wndUnicom.AddString(str);
2025-04-11 17:19:25 +08:00
m_wndUnicom.SetItemData(iItem,(DWORD_PTR)pRetTD_Unicom[i].cSrcTD);
2025-02-27 16:58:16 +08:00
if ( pRetTD_Unicom[i].cSrcTD == m_TDSet.szTD[1] )
iSel = i+1;
}
m_wndUnicom.SetCurSel(iSel);
//<2F><>С<EFBFBD><D0A1>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>
j=0;
iSel=0;
iItem = m_wndPhs.AddString(_T("Ĭ<EFBFBD><EFBFBD>"));
2025-04-11 17:19:25 +08:00
m_wndPhs.SetItemData(iItem,(DWORD_PTR)'0');
2025-02-27 16:58:16 +08:00
for ( i=0 ; i<m_CliTD.lCliTD_Phs ; i++ )
{
CString str = pRetTD_Phs[i].szTDName;
int iItem = m_wndPhs.AddString(str);
2025-04-11 17:19:25 +08:00
m_wndPhs.SetItemData(iItem,(DWORD_PTR)pRetTD_Phs[i].cSrcTD);
2025-02-27 16:58:16 +08:00
if ( pRetTD_Phs[i].cSrcTD == m_TDSet.szTD[2] )
iSel = i+1;
}
m_wndPhs.SetCurSel(iSel);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
j=0;
iSel=0;
iItem = m_wndTelcom.AddString(_T("Ĭ<EFBFBD><EFBFBD>"));
2025-04-11 17:19:25 +08:00
m_wndTelcom.SetItemData(iItem,(DWORD_PTR)'0');
2025-02-27 16:58:16 +08:00
for ( i=0 ; i<m_CliTD.lCliTD_Telcom ; i++ )
{
CString str = pRetTD_Telcom[i].szTDName;
int iItem = m_wndTelcom.AddString(str);
2025-04-11 17:19:25 +08:00
m_wndTelcom.SetItemData(iItem,(DWORD_PTR)pRetTD_Telcom[i].cSrcTD);
2025-02-27 16:58:16 +08:00
if ( pRetTD_Telcom[i].cSrcTD == m_TDSet.szTD[3] )
iSel = i+1;
}
m_wndTelcom.SetCurSel(iSel);
if ( m_lModifyCount>1 )
{
GetDlgItem(TDSET_MODIFY_MOBILE)->ShowWindow(SW_HIDE);
GetDlgItem(TDSET_MODIFY_MOBILE_S)->ShowWindow(SW_HIDE);
GetDlgItem(TDSET_MODIFY_BZ)->ShowWindow(SW_HIDE);
GetDlgItem(TDSET_MODIFY_BZ_S)->ShowWindow(SW_HIDE);
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
ANS_TDSet_Data DLG_TDSet_Modify::GetParam()
{
return m_TDSet;
}
void DLG_TDSet_Modify::OnOK()
{
if ( !UpdateData(true) )
return ;
TCHAR szMobile[32]={0};
_tcscpy(szMobile , m_strMobile );
ExMobileGZM(szMobile); //ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (m_lModifyCount<=1 && !isMobileNum( szMobile ) ) //<2F><><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EBA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӻ<EFBFBD><D3BB>޸<EFBFBD>
{
MessageBox(_T("<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_ICONWARNING );
GetDlgItem(TDSET_MODIFY_MOBILE)->SetFocus();
return ;
}
if (m_lModifyCount<=1 && m_pTDSet && CString(m_TDSet.szMobile) != CString(szMobile))
{
if ( m_pTDSet->MobileInList(szMobile) )
{
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>") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
GetDlgItem(TDSET_MODIFY_MOBILE)->SetFocus();
return ;
}
}
if ( m_lModifyCount>1 )
{
CString str;
str.Format( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD>󽫻<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%d<><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD>󶨣<EFBFBD>") , m_lModifyCount );
int iRet = MessageBox(str , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING|MB_YESNO );
if ( iRet != IDYES )
return ;
}
m_TDSet.lStatus = m_bEnable;
_tcscpy(m_TDSet.szMobile , szMobile);
_tcscpy(m_TDSet.szBZ , m_strBZ);
_tcscpy(m_TDSet.szTD , _T("0000"));
_tcscpy(m_TDSet.szOutAll , _T("0000"));
if ( m_CliTD.bCliTD_CW )
m_TDSet.szOutAll[0]='1'+m_B_CW.GetCheck();
if ( m_wndCmcc.GetCurSel()>=0 )
{
m_TDSet.szTD[0] = (TCHAR)m_wndCmcc.GetItemData(m_wndCmcc.GetCurSel());
2025-02-27 16:58:16 +08:00
}
if ( m_wndUnicom.GetCurSel()>=0 )
{
m_TDSet.szTD[1] = (TCHAR)m_wndUnicom.GetItemData(m_wndUnicom.GetCurSel());
2025-02-27 16:58:16 +08:00
}
if ( m_wndPhs.GetCurSel()>=0 )
{
m_TDSet.szTD[2] = (TCHAR)m_wndPhs.GetItemData(m_wndPhs.GetCurSel());
2025-02-27 16:58:16 +08:00
}
if ( m_wndTelcom.GetCurSel()>=0 )
{
m_TDSet.szTD[3] = (TCHAR)m_wndTelcom.GetItemData(m_wndTelcom.GetCurSel());
2025-02-27 16:58:16 +08:00
}
CDialog::OnOK();
}