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

362 lines
9.3 KiB
C++
Raw 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_Commend.cpp : implementation file
//
#include "stdafx.h"
#include "corpsms.h"
#include "DLG_Commend.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// DLG_Commend dialog
#include "MainFrm.h"
DLG_Commend::DLG_Commend(CWnd* pParent /*=NULL*/)
: CDialog(DLG_Commend::IDD, pParent)
{
//{{AFX_DATA_INIT(DLG_Commend)
m_strEmail = _T("");
m_strMobile = _T("");
m_strName = _T("");
m_strTel = _T("");
m_strTJ_BZ = _T("");
m_strTJ_CorpName = _T("");
m_strTJ_Email = _T("");
m_strTJ_Mobile = _T("");
m_strTJ_Name = _T("");
m_strTJ_Tel = _T("");
//}}AFX_DATA_INIT
m_pMainFrame = (CMainFrame *)pParent;
memset(&m_GetMy, 0 , sizeof(m_GetMy));
m_hHarrow = AfxGetApp()->LoadCursor( IDC_C_HAND );
m_lChickCount=4;
m_pClieck[0].top = 69;
m_pClieck[0].bottom= 103;
m_pClieck[0].left = 369;
m_pClieck[0].right = 493;
m_pClieck[1].top = 183;
m_pClieck[1].bottom= 217;
m_pClieck[1].left = 369;
m_pClieck[1].right = 493;
m_pClieck[2].top = 297;
m_pClieck[2].bottom= 331;
m_pClieck[2].left = 369;
m_pClieck[2].right = 493;
m_pClieck[3].top = 360;
m_pClieck[3].bottom= 400;
m_pClieck[3].left = 356;
m_pClieck[3].right = 509;
}
void DLG_Commend::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(DLG_Commend)
DDX_Text(pDX, IDC_COMMEND_EMAIL, m_strEmail);
DDV_MaxChars(pDX, m_strEmail, 60);
DDX_Text(pDX, IDC_COMMEND_MOBILE, m_strMobile);
DDV_MaxChars(pDX, m_strMobile, 30);
DDX_Text(pDX, IDC_COMMEND_NAME, m_strName);
DDV_MaxChars(pDX, m_strName, 30);
DDX_Text(pDX, IDC_COMMEND_TEL, m_strTel);
DDV_MaxChars(pDX, m_strTel, 30);
DDX_Text(pDX, IDC_COMMEND_TJ_BZ, m_strTJ_BZ);
DDV_MaxChars(pDX, m_strTJ_BZ, 200);
DDX_Text(pDX, IDC_COMMEND_TJ_CORPNAME, m_strTJ_CorpName);
DDV_MaxChars(pDX, m_strTJ_CorpName, 60);
DDX_Text(pDX, IDC_COMMEND_TJ_EMAIL, m_strTJ_Email);
DDV_MaxChars(pDX, m_strTJ_Email, 60);
DDX_Text(pDX, IDC_COMMEND_TJ_MOBILE, m_strTJ_Mobile);
DDV_MaxChars(pDX, m_strTJ_Mobile, 30);
DDX_Text(pDX, IDC_COMMEND_TJ_NAME, m_strTJ_Name);
DDV_MaxChars(pDX, m_strTJ_Name, 30);
DDX_Text(pDX, IDC_COMMEND_TJ_TEL, m_strTJ_Tel);
DDV_MaxChars(pDX, m_strTJ_Tel, 30);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(DLG_Commend, CDialog)
//{{AFX_MSG_MAP(DLG_Commend)
ON_BN_CLICKED(IDC_COMMEND_MYCOMMEND, OnCommendMycommend)
ON_BN_CLICKED(IDC_COMMEND_URL, OnCommendUrl)
ON_BN_CLICKED(IDC_COMMEND_DH, OnCommendDh)
ON_WM_ERASEBKGND()
ON_WM_CTLCOLOR()
ON_WM_SETCURSOR()
ON_WM_LBUTTONUP()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// DLG_Commend message handlers
void DLG_Commend::OnOK()
{
if ( !UpdateData(true) )
return ;
if ( m_strName.GetLength()<3 )
{
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_ICONWARNING );
GetDlgItem(IDC_COMMEND_NAME)->SetFocus();
return;
}
if ( m_strMobile.GetLength()<3 )
{
MessageBox(_T("©<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(IDC_COMMEND_TEL)->SetFocus();
return;
}
if ( m_strTJ_CorpName.GetLength()<3 )
{
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_ICONWARNING );
GetDlgItem(IDC_COMMEND_TJ_CORPNAME)->SetFocus();
return;
}
if ( m_strTJ_Name.GetLength()<3 )
{
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>") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
GetDlgItem(IDC_COMMEND_TJ_NAME)->SetFocus();
return;
}
if ( m_strTJ_Tel.GetLength()<3 )
{
MessageBox(_T("©<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(IDC_COMMEND_TJ_TEL)->SetFocus();
return;
}
long lSize = sizeof(REQ_Commend_Add)+sizeof(ANS_GetCommendData);
BYTE * pAddData = new BYTE[lSize];memset(pAddData,0,lSize);
REQ_Commend_Add * pAdd = (REQ_Commend_Add *)pAddData; //ͷ
ANS_GetCommendData * pCommendData = (ANS_GetCommendData *)(pAddData+sizeof(REQ_Commend_Add));
pCommendData->lCorpID = m_pMainFrame->m_lCorpID;
pCommendData->lUserID = m_pMainFrame->m_lUserID;
pCommendData->lCommendType = 0; //<2F><><EFBFBD><EFBFBD>0<EFBFBD><30><EFBFBD>Ƽ<EFBFBD><C6BC>ͻ<EFBFBD>
_tcscpy(pCommendData->szName , m_strName);
_tcscpy(pCommendData->szTel , m_strTel);
_tcscpy(pCommendData->szMobile , m_strMobile);
_tcscpy(pCommendData->szEmail , m_strEmail);
_tcscpy(pCommendData->szTJ_CorpName , m_strTJ_CorpName);
_tcscpy(pCommendData->szTJ_Name , m_strTJ_Name);
_tcscpy(pCommendData->szTJ_Tel , m_strTJ_Tel);
_tcscpy(pCommendData->szTJ_Mobile , m_strTJ_Mobile);
_tcscpy(pCommendData->szTJ_Email , m_strTJ_Email);
_tcscpy(pCommendData->szTJ_BZ , m_strTJ_BZ);
::GetLocalTime(&pCommendData->tCreateTime);
pAdd->lCount = 1;
m_pMainFrame->SendFrame( SMSFUNC_COMMEND_ADD , pAddData , lSize );
//CDialog::OnOK();
}
BOOL DLG_Commend::ProcessSocket(Socket_Head_Add *pHead, BYTE *pFrame)
{
//<2F><><EFBFBD><EFBFBD>
if (pHead->lFuncType == SMSFUNC_COMMEND_ADD)
{
ANS_Commend_Add * pAdd = (ANS_Commend_Add *)pFrame;
ANS_GetCommendData * pData = (ANS_GetCommendData *)(pFrame+sizeof(ANS_Commend_Add));
if ( pAdd->lCount == 1 ) //<2F><><EFBFBD><EFBFBD><31><CAB1>ʾ<EFBFBD>޸ijɹ<C4B3>
{
if ( pData->lCommendType == 1 )
{
if ( pAdd->lCount == 1 ) //<2F><><EFBFBD><EFBFBD><31><CAB1>ʾ<EFBFBD>޸ijɹ<C4B3>
{
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>dz<EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>׵<EFBFBD>֧<EFBFBD>֣<EFBFBD>") , _T("<EFBFBD>ɹ<EFBFBD>") , MB_ICONINFORMATION );
this->EndDialog(IDOK);
}
else
{
MessageBox(_T("<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>") , MB_ICONWARNING );
}
}
else
{
int iRet = MessageBox(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƽ<EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD>ѳɹ<EFBFBD><EFBFBD>Ǽǣ<EFBFBD><EFBFBD>dz<EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>׵<EFBFBD>֧<EFBFBD>֣<EFBFBD>\r\n<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD><EFBFBD>µ<EFBFBD><EFBFBD>Ƽ<EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD>") , _T("<EFBFBD>ɹ<EFBFBD>") , MB_ICONQUESTION|MB_YESNO );
if ( iRet!= IDYES )
{
this->EndDialog(IDOK);
}
else
{
//m_strEmail = _T("");
//m_strMobile = _T("");
//m_strName = _T("");
//m_strTel = _T("");
m_strTJ_BZ = _T("");
m_strTJ_CorpName = _T("");
m_strTJ_Email = _T("");
m_strTJ_Mobile = _T("");
m_strTJ_Name = _T("");
m_strTJ_Tel = _T("");
UpdateData(false);
GetDlgItem(IDC_COMMEND_NAME)->SetFocus();
}
}
}
else
{
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><EFBFBD><EFBFBD>ԣ<EFBFBD>") , _T("ʧ<EFBFBD><EFBFBD>") , MB_ICONWARNING );
}
return true;
}
return false;
}
void DLG_Commend::OnCommendMycommend()
{
REQ_GetCommend * pCommend = new REQ_GetCommend;
memset(pCommend , 0 , sizeof(REQ_GetCommend));
pCommend->lUserID = m_pMainFrame->m_lUserID;
m_pMainFrame->SendFrame( SMSFUNC_GETCOMMEND , (BYTE*)pCommend , sizeof(REQ_GetCommend) );
}
void DLG_Commend::OnCommendUrl()
{
CString strLink=_T("http://www.mobset.com/news/tj.asp");
ShellExecute(NULL,_T("open"),strLink,NULL,NULL,SW_SHOWNORMAL);
}
void DLG_Commend::OnCommendDh()
{
REQ_GetCommend_LP * pCommend = new REQ_GetCommend_LP;
memset(pCommend , 0 , sizeof(REQ_GetCommend_LP));
pCommend->lUserID = m_pMainFrame->m_lUserID;
m_pMainFrame->SendFrame( SMSFUNC_GETCOMMEND_LP , (BYTE*)pCommend , sizeof(REQ_GetCommend_LP) );
}
void DLG_Commend::SetParam(ANS_Commend_GetMy getMy)
{
m_GetMy = getMy;
}
BOOL DLG_Commend::OnInitDialog()
{
CDialog::OnInitDialog();
m_strName = m_GetMy.szName;
m_strTel = m_GetMy.szTel;
m_strMobile = m_GetMy.szMobile;
m_strEmail = m_GetMy.szEmail;
UpdateData(false);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
BOOL DLG_Commend::OnEraseBkgnd(CDC* pDC)
{
CBrush Brush (RGB (228 , 242 , 255) );
CBrush* pOldBrush = pDC->SelectObject(&Brush);
// Get the area that needs to be erased .
CRect reClip;
pDC->GetClipBox(&reClip);
//Paint the area.
pDC->PatBlt(reClip.left , reClip.top , reClip.Width ( ) , reClip.Height( ) , PATCOPY );
//Unselect brush out of device context .
pDC->SelectObject(pOldBrush );
// Return nonzero to half fruther processing .
return TRUE;
// return CDialog::OnEraseBkgnd(pDC);
}
HBRUSH DLG_Commend::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if(nCtlColor==CTLCOLOR_STATIC)
{
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(RGB(228,242,255));
HBRUSH b=CreateSolidBrush(RGB(228,242,255));
return b;
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
BOOL DLG_Commend::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
//<2F><><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE>
if ( isMouseSel()>0 )
::SetCursor( m_hHarrow );
else
return CDialog::OnSetCursor(pWnd, nHitTest, message);
return true;
}
void DLG_Commend::OnLButtonUp(UINT nFlags, CPoint point)
{
long lSel=isMouseSel();
switch(lSel)
{
case 1:
OnCommendUrl();
break;
case 2:
OnCommendMycommend();
break;
case 3:
OnCommendDh();
break;
case 4:
OnOK();
break;
}
CDialog::OnLButtonUp(nFlags, point);
}
long DLG_Commend::isMouseSel()
{
POINT p;
::GetCursorPos(&p);
this->ScreenToClient(&p);
/*
CDC * pDC = this->GetDC();
if ( !pDC )
return 0;
*/
long lSel=0;
for ( int i=0 ; i< m_lChickCount ; i++ ) //<2F><><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>
{
if ( m_pClieck[i].left <=p.x &&
m_pClieck[i].right >=p.x &&
m_pClieck[i].top <=p.y &&
m_pClieck[i].bottom>=p.y )
{
lSel =i+1;
break;
}
}
return lSel;
}