287 lines
7.0 KiB
C++
287 lines
7.0 KiB
C++
// DLG_MsgSetup2.cpp : implementation file
|
||
//
|
||
|
||
#include "stdafx.h"
|
||
#include "corpsms.h"
|
||
#include "DLG_MsgSetup2.h"
|
||
|
||
#ifdef _DEBUG
|
||
#define new DEBUG_NEW
|
||
#undef THIS_FILE
|
||
static char THIS_FILE[] = __FILE__;
|
||
#endif
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
// DLG_MsgSetup2 dialog
|
||
#include "DLG_ZFUser.h"
|
||
|
||
DLG_MsgSetup2::DLG_MsgSetup2(CWnd* pParent /*=NULL*/)
|
||
: CDialog(DLG_MsgSetup2::IDD, pParent)
|
||
{
|
||
//{{AFX_DATA_INIT(DLG_MsgSetup2)
|
||
m_bCM = FALSE;
|
||
m_strCM = _T("");
|
||
m_strMobile = _T("");
|
||
m_strName = _T("");
|
||
m_strNickName = _T("");
|
||
m_strSmsUsed = _T("");
|
||
m_strTel = _T("");
|
||
m_bUserZF = FALSE;
|
||
//}}AFX_DATA_INIT
|
||
|
||
m_pMainFrame = (CMainFrame *)pParent;
|
||
|
||
m_pSetup = NULL;
|
||
memset(&m_Setup,0,sizeof(m_Setup));
|
||
m_pNewData = NULL;
|
||
}
|
||
|
||
|
||
void DLG_MsgSetup2::DoDataExchange(CDataExchange* pDX)
|
||
{
|
||
CDialog::DoDataExchange(pDX);
|
||
//{{AFX_DATA_MAP(DLG_MsgSetup2)
|
||
DDX_Control(pDX, IDC_MSGSETUP2_LIST, m_wndUserList);
|
||
DDX_Check(pDX, IDC_MSGSETUP2_BCM, m_bCM);
|
||
DDX_Text(pDX, IDC_MSGSETUP2_CM, m_strCM);
|
||
DDV_MaxChars(pDX, m_strCM, 28);
|
||
DDX_Text(pDX, IDC_MSGSETUP2_MOBILE, m_strMobile);
|
||
DDV_MaxChars(pDX, m_strMobile, 18);
|
||
DDX_Text(pDX, IDC_MSGSETUP2_NAME, m_strName);
|
||
DDV_MaxChars(pDX, m_strName, 15);
|
||
DDX_Text(pDX, IDC_MSGSETUP2_NICKNAME, m_strNickName);
|
||
DDV_MaxChars(pDX, m_strNickName, 15);
|
||
DDX_Text(pDX, IDC_MSGSETUP2_SMSUSED, m_strSmsUsed);
|
||
DDX_Text(pDX, IDC_MSGSETUP2_TEL, m_strTel);
|
||
DDV_MaxChars(pDX, m_strTel, 18);
|
||
DDX_Check(pDX, IDC_MSGSETUP2_ZF, m_bUserZF);
|
||
//}}AFX_DATA_MAP
|
||
}
|
||
|
||
|
||
BEGIN_MESSAGE_MAP(DLG_MsgSetup2, CDialog)
|
||
//{{AFX_MSG_MAP(DLG_MsgSetup2)
|
||
ON_BN_CLICKED(IDC_MSGSETUP2_BCM, OnMsgsetup2Bcm)
|
||
ON_NOTIFY(NM_DBLCLK, IDC_MSGSETUP2_LIST, OnDblclkMsgsetup2List)
|
||
ON_NOTIFY(NM_RCLICK, IDC_MSGSETUP2_LIST, OnRclickMsgsetup2List)
|
||
//}}AFX_MSG_MAP
|
||
ON_COMMAND( ZF_USER_ADD , On_User_Add )
|
||
ON_COMMAND( ZF_USER_MODIFY, On_User_Modify )
|
||
ON_COMMAND( ZF_USER_DEL , On_User_Del )
|
||
ON_COMMAND( ZF_USER_CLEAR , On_User_Clear )
|
||
END_MESSAGE_MAP()
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
// DLG_MsgSetup2 message handlers
|
||
|
||
void DLG_MsgSetup2::SetParam(ANS_MsgSetup3_See *pSetup, ANS_MsgSetupData * pData)
|
||
{
|
||
m_pSetup = pSetup;
|
||
m_pData = pData;
|
||
}
|
||
|
||
REQ_MsgSetup3 DLG_MsgSetup2::GetParam()
|
||
{
|
||
return m_Setup;
|
||
}
|
||
|
||
BOOL DLG_MsgSetup2::OnInitDialog()
|
||
{
|
||
CDialog::OnInitDialog();
|
||
|
||
// TODO: Add extra initialization here
|
||
m_strName = m_pSetup->szName;
|
||
m_strNickName = m_pSetup->szNickName;
|
||
m_strTel = m_pSetup->szTel;
|
||
m_strMobile= m_pSetup->szMobile;
|
||
m_strSmsUsed.Format( _T("%d") , m_pSetup->lSmsUsed );
|
||
m_bCM = m_pSetup->bCM;
|
||
m_strCM = m_pSetup->szCM;
|
||
|
||
m_bUserZF = m_pSetup->bUserZF;
|
||
m_wndUserList.SubClassWindow2();
|
||
m_wndUserList.SetHeadings(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,40;<3B><> <20><>,80;<3B>ֻ<EFBFBD>,100;"));
|
||
m_wndUserList.SetGridLines(true);
|
||
|
||
TCHAR Buf[32]={0};
|
||
//<2F><>ʾת<CABE><D7AA><EFBFBD>б<EFBFBD>
|
||
for ( int i=0;i<m_pSetup->lUserZF;i++ )
|
||
{
|
||
m_wndUserList.InsertItem( i , _itot(i+1,Buf,10) , 0 );
|
||
m_wndUserList.SetItemText( i , 1 , m_pData[i].szName );
|
||
m_wndUserList.SetItemText( i , 2 , m_pData[i].szMobile );
|
||
}
|
||
|
||
|
||
UpdateData( false );
|
||
|
||
return TRUE; // return TRUE unless you set the focus to a control
|
||
// EXCEPTION: OCX Property Pages should return FALSE
|
||
}
|
||
|
||
void DLG_MsgSetup2::OnOK()
|
||
{
|
||
if ( !UpdateData(true) )
|
||
return ;
|
||
|
||
if ( m_bCM )
|
||
{
|
||
if ( m_strCM.GetLength() <= 0 )
|
||
{
|
||
MessageBox( _T("ǩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
|
||
GetDlgItem( IDC_MSGSETUP2_CM )->SetFocus();
|
||
return ;
|
||
}
|
||
}
|
||
|
||
m_Setup.lCorpID = m_pSetup->lCorpID;
|
||
m_Setup.lUserID = m_pSetup->lUserID;
|
||
_tcscpy(m_Setup.szName , m_strName );
|
||
_tcscpy(m_Setup.szNickName , m_strNickName );
|
||
_tcscpy(m_Setup.szTel , m_strTel );
|
||
_tcscpy(m_Setup.szMobile , m_strMobile );
|
||
m_Setup.bCM = m_bCM;
|
||
_tcscpy( m_Setup.szCM , m_strCM );
|
||
|
||
m_Setup.bUserZF = m_bUserZF;
|
||
m_Setup.lUserZF = m_wndUserList.GetItemCount();
|
||
|
||
m_pNewData = new ANS_MsgSetupData[m_Setup.lUserZF];
|
||
memset( m_pNewData , 0 , sizeof(ANS_MsgSetupData)*(m_Setup.lUserZF) );
|
||
//ȡ<>û<EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
for ( int i = 0 ; i<m_Setup.lUserZF;i++ )
|
||
{
|
||
m_wndUserList.GetItemText( i , 1 , m_pNewData[i].szName ,sizeof(m_pNewData[i].szName));
|
||
m_wndUserList.GetItemText( i , 2 , m_pNewData[i].szMobile ,sizeof(m_pNewData[i].szMobile));
|
||
}
|
||
|
||
CDialog::OnOK();
|
||
}
|
||
|
||
void DLG_MsgSetup2::OnMsgsetup2Bcm()
|
||
{
|
||
CButton * pButton = (CButton*)GetDlgItem(IDC_MSGSETUP2_BCM);
|
||
if ( pButton->GetCheck() )
|
||
{
|
||
GetDlgItem( IDC_MSGSETUP2_CM )->EnableWindow(true);
|
||
}
|
||
else
|
||
{
|
||
GetDlgItem( IDC_MSGSETUP2_CM )->EnableWindow(false);
|
||
}
|
||
}
|
||
|
||
void DLG_MsgSetup2::OnDblclkMsgsetup2List(NMHDR* pNMHDR, LRESULT* pResult)
|
||
{
|
||
*pResult = 0;
|
||
|
||
On_User_Modify();
|
||
}
|
||
|
||
void DLG_MsgSetup2::OnRclickMsgsetup2List(NMHDR* pNMHDR, LRESULT* pResult)
|
||
{
|
||
*pResult = 0;
|
||
|
||
ShowRUserMenu();
|
||
}
|
||
|
||
void DLG_MsgSetup2::ShowRUserMenu()
|
||
{
|
||
CMenu menu;
|
||
menu.CreatePopupMenu();
|
||
BOOL bLock = false;
|
||
long lItem = this->GetCurrentSelected_User();
|
||
|
||
//<2F><><EFBFBD><EFBFBD>
|
||
menu.AppendMenu(MF_STRING , ZF_USER_ADD, _T(" <20><><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD> ") );
|
||
//<2F><EFBFBD>
|
||
if ( lItem >=0 )
|
||
{
|
||
menu.AppendMenu(MF_STRING , ZF_USER_MODIFY, _T(" <20><> <20><> ") );
|
||
}
|
||
else
|
||
{
|
||
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , ZF_USER_MODIFY , _T(" <20><> <20><> ") );
|
||
}
|
||
//ɾ<><C9BE>
|
||
if ( lItem >=0 )
|
||
{
|
||
menu.AppendMenu(MF_STRING , ZF_USER_DEL, _T(" ɾ <20><> ") );
|
||
}
|
||
else
|
||
{
|
||
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , ZF_USER_DEL , _T(" ɾ <20><> ") );
|
||
}
|
||
menu.AppendMenu(MF_SEPARATOR );
|
||
//ˢ<><CBA2>
|
||
menu.AppendMenu(MF_STRING , ZF_USER_CLEAR , _T(" <20><><EFBFBD><EFBFBD> ") );
|
||
|
||
//<2F><>ʾ<EFBFBD>˵<EFBFBD>
|
||
POINT pt ;
|
||
::GetCursorPos( &pt );
|
||
//this->ClientToScreen( &pt);
|
||
menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON,pt.x,pt.y, this, NULL);
|
||
menu.DestroyMenu();
|
||
}
|
||
|
||
long DLG_MsgSetup2::GetCurrentSelected_User()
|
||
{
|
||
POSITION pos = m_wndUserList.GetFirstSelectedItemPosition();
|
||
if ( pos )
|
||
{
|
||
return m_wndUserList.GetNextSelectedItem(pos);
|
||
}
|
||
return -1;
|
||
}
|
||
|
||
void DLG_MsgSetup2::On_User_Add()
|
||
{
|
||
ANS_MsgSetupData data={0};
|
||
DLG_ZFUser dlg(this);
|
||
dlg.SetParam( data );
|
||
if ( dlg.DoModal() == IDOK )
|
||
{
|
||
TCHAR Buf[32];
|
||
long lCount = m_wndUserList.GetItemCount();
|
||
m_wndUserList.InsertItem( lCount , _itot(lCount+1,Buf,10),0);
|
||
m_wndUserList.SetItemText( lCount,1 , dlg.GetParam().szName );
|
||
m_wndUserList.SetItemText( lCount,2 , dlg.GetParam().szMobile );
|
||
}
|
||
}
|
||
void DLG_MsgSetup2::On_User_Del()
|
||
{
|
||
long lItem = this->GetCurrentSelected_User();
|
||
if ( lItem < 0 )
|
||
return;
|
||
m_wndUserList.DeleteItem( lItem );
|
||
|
||
long lCount = m_wndUserList.GetItemCount();
|
||
TCHAR szBuf[32];
|
||
for ( int i = 0 ; i< lCount;i++ )
|
||
{
|
||
m_wndUserList.SetItemText( i , 0 , _itot(i+1,szBuf,10) );
|
||
}
|
||
|
||
}
|
||
void DLG_MsgSetup2::On_User_Modify()
|
||
{
|
||
long lItem = this->GetCurrentSelected_User();
|
||
if ( lItem < 0 )
|
||
return;
|
||
|
||
ANS_MsgSetupData data={0};
|
||
m_wndUserList.GetItemText( lItem , 1 , data.szName ,sizeof(data.szName));
|
||
m_wndUserList.GetItemText( lItem , 2 , data.szMobile,sizeof(data.szMobile) );
|
||
DLG_ZFUser dlg(this);
|
||
dlg.SetParam( data );
|
||
if ( dlg.DoModal() == IDOK )
|
||
{
|
||
m_wndUserList.SetItemText( lItem,1 , dlg.GetParam().szName );
|
||
m_wndUserList.SetItemText( lItem,2 , dlg.GetParam().szMobile );
|
||
}
|
||
}
|
||
void DLG_MsgSetup2::On_User_Clear()
|
||
{
|
||
m_wndUserList.DeleteAllItems();
|
||
}
|