// 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)); //���ƶ����� int j=0; int iSel=0; int iItem = m_wndCmcc.AddString(_T("Ĭ��")); m_wndCmcc.SetItemData(iItem,(DWORD_PTR)'0'); 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); m_wndCmcc.SetItemData(iItem,(DWORD_PTR)pRetTD_Cmcc[i].cSrcTD); if ( pRetTD_Cmcc[i].cSrcTD == m_TDSet.szTD[0] ) iSel = i+1; } m_wndCmcc.SetCurSel(iSel); //����ͨ���� j=0; iSel=0; iItem = m_wndUnicom.AddString(_T("Ĭ��")); m_wndUnicom.SetItemData(iItem,(DWORD_PTR)'0'); for ( i=0 ; i<m_CliTD.lCliTD_Unicom ; i++ ) { CString str = pRetTD_Unicom[i].szTDName; int iItem=m_wndUnicom.AddString(str); m_wndUnicom.SetItemData(iItem,(DWORD_PTR)pRetTD_Unicom[i].cSrcTD); if ( pRetTD_Unicom[i].cSrcTD == m_TDSet.szTD[1] ) iSel = i+1; } m_wndUnicom.SetCurSel(iSel); //��С��ͨ���� j=0; iSel=0; iItem = m_wndPhs.AddString(_T("Ĭ��")); m_wndPhs.SetItemData(iItem,(DWORD_PTR)'0'); for ( i=0 ; i<m_CliTD.lCliTD_Phs ; i++ ) { CString str = pRetTD_Phs[i].szTDName; int iItem = m_wndPhs.AddString(str); m_wndPhs.SetItemData(iItem,(DWORD_PTR)pRetTD_Phs[i].cSrcTD); if ( pRetTD_Phs[i].cSrcTD == m_TDSet.szTD[2] ) iSel = i+1; } m_wndPhs.SetCurSel(iSel); //��������� j=0; iSel=0; iItem = m_wndTelcom.AddString(_T("Ĭ��")); m_wndTelcom.SetItemData(iItem,(DWORD_PTR)'0'); for ( i=0 ; i<m_CliTD.lCliTD_Telcom ; i++ ) { CString str = pRetTD_Telcom[i].szTDName; int iItem = m_wndTelcom.AddString(str); m_wndTelcom.SetItemData(iItem,(DWORD_PTR)pRetTD_Telcom[i].cSrcTD); 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); //ȥ�������� if (m_lModifyCount<=1 && !isMobileNum( szMobile ) ) //�����ֻ����룬�������ӻ��� { MessageBox(_T("�ֻ����������������飡") , _T("����") , 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("��������ֻ������Ѵ��ڣ����飡") , _T("����") , MB_ICONWARNING ); GetDlgItem(TDSET_MODIFY_MOBILE)->SetFocus(); return ; } } if ( m_lModifyCount>1 ) { CString str; str.Format( _T("����Ϊ����������ȷ�������%d�������ͨ����") , m_lModifyCount ); int iRet = MessageBox(str , _T("����") , 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] = m_wndCmcc.GetItemData(m_wndCmcc.GetCurSel()); } if ( m_wndUnicom.GetCurSel()>=0 ) { m_TDSet.szTD[1] = m_wndUnicom.GetItemData(m_wndUnicom.GetCurSel()); } if ( m_wndPhs.GetCurSel()>=0 ) { m_TDSet.szTD[2] = m_wndPhs.GetItemData(m_wndPhs.GetCurSel()); } if ( m_wndTelcom.GetCurSel()>=0 ) { m_TDSet.szTD[3] = m_wndTelcom.GetItemData(m_wndTelcom.GetCurSel()); } CDialog::OnOK(); }