CorpSms/DLG_QXBox_Group_Send.cpp

272 lines
7.7 KiB
C++
Raw Permalink Normal View History

2025-02-27 16:58:16 +08:00
// DLG_QXBox_Group_Send.cpp : ʵ<><CAB5><EFBFBD>ļ<EFBFBD>
//
#include "stdafx.h"
#include "CorpSms.h"
#include "DLG_QXBox_Group_Send.h"
#include "afxdialogex.h"
// DLG_QXBox_Group_Send <20>Ի<EFBFBD><D4BB><EFBFBD>
IMPLEMENT_DYNAMIC(DLG_QXBox_Group_Send, CDialogEx)
DLG_QXBox_Group_Send::DLG_QXBox_Group_Send(CWnd* pParent /*=NULL*/)
: CDialogEx(DLG_QXBox_Group_Send::IDD, pParent)
, m_strImageName(_T(""))
, m_strMobile(_T(""))
{
memset(&m_Send,0,sizeof(m_Send));
m_lSendType = 0;
m_tDate = COleDateTime::GetCurrentTime();
m_tTime = COleDateTime::GetCurrentTime();
m_strMobileAll = _T("");
m_strMobileSent = _T("");
m_strMsg = _T("");
m_strRecver = _T("");
m_strSender = _T("");
m_strSendTime = _T("");
m_lMaxImageSize = 1024*1024; //ͼƬ<CDBC>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>4M
}
DLG_QXBox_Group_Send::~DLG_QXBox_Group_Send()
{
}
void DLG_QXBox_Group_Send::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Check(pDX, IDD_QXBOX_GROUP_SEND_DS, m_bDS);
DDX_DateTimeCtrl(pDX, IDD_QXBOX_GROUP_SEND_DS_D, m_tDate);
DDX_DateTimeCtrl(pDX, IDD_QXBOX_GROUP_SEND_DS_T, m_tTime);
DDX_Text(pDX, IDD_QXBOX_GROUP_SEND_MOBILEALL, m_strMobileAll);
DDX_Text(pDX, IDD_QXBOX_GROUP_SEND_MOBILESENT, m_strMobileSent);
DDX_Text(pDX, IDD_QXBOX_GROUP_SEND_MSG, m_strMsg);
DDV_MaxChars(pDX, m_strMsg, 1000);
DDX_Text(pDX, IDD_QXBOX_GROUP_SEND_RECVER, m_strRecver);
DDX_Text(pDX, IDD_QXBOX_GROUP_SEND_SENDER, m_strSender);
DDX_Text(pDX, IDD_QXBOX_GROUP_SEND_SENDTIME, m_strSendTime);
DDX_Control(pDX, IDD_QXBOX_GROUP_SEND_MSG, m_E_Msg);
DDX_Text(pDX, IDD_QXBOX_GROUP_SEND_IMAGENAME, m_strImageName);
DDV_MaxChars(pDX, m_strImageName, 500);
DDX_Text(pDX, IDD_QXBOX_GROUP_SEND_MOBILE, m_strMobile);
DDV_MaxChars(pDX, m_strMobile, 11);
}
BEGIN_MESSAGE_MAP(DLG_QXBox_Group_Send, CDialogEx)
ON_BN_CLICKED(IDOK, &DLG_QXBox_Group_Send::OnBnClickedOk)
ON_BN_CLICKED(IDD_QXBOX_GROUP_SEND_TYPE_TEXT, &DLG_QXBox_Group_Send::OnBnClickedQxboxGroupSendTypeText)
ON_BN_CLICKED(IDD_QXBOX_GROUP_SEND_TYPE_IMAGE, &DLG_QXBox_Group_Send::OnBnClickedQxboxGroupSendTypeImage)
ON_BN_CLICKED(IDD_QXBOX_GROUP_SEND_IMAGENAME_S, &DLG_QXBox_Group_Send::OnBnClickedQxboxGroupSendImagenameS)
END_MESSAGE_MAP()
// DLG_QXBox_Group_Send <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BOOL DLG_QXBox_Group_Send::OnInitDialog()
{
CDialogEx::OnInitDialog();
m_strSender = m_Send.szSender;
m_strRecver = m_Send.szGroupName;
m_strSendTime.Format(_T("%04d.%02d.%02d %02d:%02d") , m_Send.tSubTime.wYear,m_Send.tSubTime.wMonth,m_Send.tSubTime.wDay,m_Send.tSubTime.wHour,m_Send.tSubTime.wMinute);
m_strMobileAll.Format(_T("%d") , m_Send.lMobileAll);
m_strMobileSent.Format(_T("%d") , m_Send.lMobileSent);
COleDateTime tTimer(m_Send.tTimer);
if ( tTimer.GetStatus() == COleDateTime::valid )
{
m_bDS = true;
m_tDate = tTimer;
m_tTime = tTimer;
}
m_strImageName = m_Send.szMsgImageName;
m_strMsg = m_strMsgIn;
if ( m_Send.lMsgDataType ==0 ) //<2F>ı<EFBFBD>
((CButton *)GetDlgItem(IDD_QXBOX_GROUP_SEND_TYPE_TEXT))->SetCheck(true);
if ( m_Send.lMsgDataType ==1 ) //ͼƬ
((CButton *)GetDlgItem(IDD_QXBOX_GROUP_SEND_TYPE_IMAGE))->SetCheck(true);
if ( m_lSendType ==1 ) //<2F><EFBFBD><E9BFB4><EFBFBD><EFBFBD><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD>
{
GetDlgItem(IDD_QXBOX_GROUP_SEND_DS)->EnableWindow(false);
GetDlgItem(IDD_QXBOX_GROUP_SEND_DS_D)->EnableWindow(false);
GetDlgItem(IDD_QXBOX_GROUP_SEND_DS_T)->EnableWindow(false);
GetDlgItem(IDD_QXBOX_GROUP_SEND_TYPE_TEXT)->EnableWindow(false);
GetDlgItem(IDD_QXBOX_GROUP_SEND_TYPE_IMAGE)->EnableWindow(false);
((CEdit*)GetDlgItem(IDD_QXBOX_GROUP_SEND_MSG))->SetReadOnly(true);
((CEdit*)GetDlgItem(IDD_QXBOX_GROUP_SEND_IMAGENAME))->SetReadOnly(true);
GetDlgItem(IDD_QXBOX_GROUP_SEND_IMAGENAME_S)->EnableWindow(false);
}
OnChangeGroupSendType();
UpdateData(false);
return TRUE; // return TRUE unless you set the focus to a control
// <20>쳣: OCX <20><><EFBFBD><EFBFBD>ҳӦ<D2B3><D3A6><EFBFBD><EFBFBD> FALSE
}
void DLG_QXBox_Group_Send::OnBnClickedOk()
{
if ( !UpdateData(true) )
return ;
long lMsgDataType=0;
if ( ((CButton *)GetDlgItem(IDD_QXBOX_GROUP_SEND_TYPE_IMAGE))->GetCheck() )
lMsgDataType = 1;
m_Send.lMsgDataType = lMsgDataType;
/*
if ( m_strMobile.GetLength()==11 )
{
m_Send.lMsgType = 1; //<2F><><EFBFBD>Ե<EFBFBD><D4B5><EFBFBD>Ϣ<EFBFBD><CFA2>
_tcscpy(m_Send.szGroupID , m_strMobile );
}
*/
_tcscpy(m_Send.szMobile , m_strMobile );
if ( lMsgDataType==0 )
{
if ( m_strMsg.GetLength() <=0 )
{
MessageBox(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
GetDlgItem(IDD_QXBOX_GROUP_SEND_MSG)->SetFocus();
return ;
}
m_strMsgIn = m_strMsg;
}
if ( lMsgDataType==1 )
{
//<2F>ж<EFBFBD><D0B6>ļ<EFBFBD><C4BC><EFBFBD>С<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ȷ
CFileStatus status;
CFile::GetStatus(m_strImageName,status);
if (status.m_size<=10 || status.m_size > m_lMaxImageSize)
{
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>") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),MB_ICONWARNING);
GetDlgItem(IDD_QXBOX_GROUP_SEND_IMAGENAME_S)->SetFocus();
return ;
}
_tcsncpy(m_Send.szMsgImageName , m_strImageName ,sizeof(m_Send.szMsgImageName)/sizeof(TCHAR));
}
if ( m_bDS )
{
COleDateTime t(m_tDate.GetYear(),m_tDate.GetMonth(),m_tDate.GetDay(),m_tTime.GetHour(),m_tTime.GetMinute(),m_tTime.GetSecond());
if ( t.GetStatus() != COleDateTime::valid ||
t<COleDateTime::GetCurrentTime())
{
MessageBox(_T("<EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>ڵ<EFBFBD>ǰʱ<EFBFBD>") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),MB_ICONWARNING);
GetDlgItem(IDD_QXBOX_GROUP_SEND_DS_D)->SetFocus();
return ;
}
t.GetAsSystemTime(m_Send.tTimer);
}
CDialogEx::OnOK();
}
int DLG_QXBox_Group_Send::SetParam(REQ_QXBox_Group_SendData send,TCHAR * szMsgIn,long lSendType)
{
m_Send = send;
m_lSendType = lSendType;
if ( send.lMsgDataType ==0 ) //<2F>ı<EFBFBD>
m_strMsgIn =szMsgIn;
return 0;
}
REQ_QXBox_Group_SendData DLG_QXBox_Group_Send::GetParam(void)
{
return REQ_QXBox_Group_SendData(m_Send);
}
void DLG_QXBox_Group_Send::OnBnClickedQxboxGroupSendTypeText()
{
OnChangeGroupSendType();
}
void DLG_QXBox_Group_Send::OnBnClickedQxboxGroupSendTypeImage()
{
OnChangeGroupSendType();
}
void DLG_QXBox_Group_Send::OnChangeGroupSendType()
{
long lMsgDataType=0;
if ( ((CButton *)GetDlgItem(IDD_QXBOX_GROUP_SEND_TYPE_IMAGE))->GetCheck() )
lMsgDataType = 1;
if ( lMsgDataType ==0 ) //<2F>ı<EFBFBD>
{
GetDlgItem(IDD_QXBOX_GROUP_SEND_MSG)->ShowWindow(SW_SHOW);
GetDlgItem(IDD_QXBOX_GROUP_SEND_IMAGENAME)->ShowWindow(SW_HIDE);
GetDlgItem(IDD_QXBOX_GROUP_SEND_IMAGENAME_S)->ShowWindow(SW_HIDE);
}
if ( lMsgDataType ==1 ) //ͼƬ
{
GetDlgItem(IDD_QXBOX_GROUP_SEND_MSG)->ShowWindow(SW_HIDE);
GetDlgItem(IDD_QXBOX_GROUP_SEND_IMAGENAME)->ShowWindow(SW_SHOW);
GetDlgItem(IDD_QXBOX_GROUP_SEND_IMAGENAME_S)->ShowWindow(SW_SHOW);
}
}
void DLG_QXBox_Group_Send::OnBnClickedQxboxGroupSendImagenameS()
{
TCHAR szFile[ 256 ]={0};
TCHAR szFileB[ 256 ]={0};
*szFileB = NULL;
OPENFILENAME sOpen;
sOpen.lStructSize = sizeof( sOpen );
sOpen.hwndOwner = this->m_hWnd ;
sOpen.Flags = OFN_EXPLORER|OFN_OVERWRITEPROMPT|OFN_HIDEREADONLY;
sOpen.lpstrFilter = _T("ͼƬ<EFBFBD>ļ<EFBFBD>\0*.jpg*;*.bmp*;*.gif*\0");
sOpen.lpstrDefExt = _T("");
sOpen.lpstrCustomFilter = NULL;
sOpen.nMaxCustFilter = 0;
sOpen.lpstrFile = szFile;
sOpen.nMaxFile = sizeof( szFile );
sOpen.lpstrFileTitle = szFileB;
sOpen.nMaxFileTitle = sizeof( szFileB );
sOpen.lpstrInitialDir = NULL;
sOpen.lpstrTitle = _T("ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ͼƬ<EFBFBD>ļ<EFBFBD>");
if ( ::GetOpenFileName( &sOpen ) )
{
CString strName = sOpen.lpstrFile;
CString strTemp = strName;
CString strTemp2;
strTemp.MakeUpper();
//<2F>ж<EFBFBD><D0B6>ļ<EFBFBD><C4BC><EFBFBD>չ<EFBFBD><D5B9><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ȷ
if ( !(strTemp.Find(_T(".BMP"))>0 || strTemp.Find(_T(".JPG"))>0 || strTemp.Find(_T(".GIF"))>0) ) //ΪExcel<65><6C>ʽ<EFBFBD><CABD><EFBFBD>ļ<EFBFBD>
{
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);
return ;
}
//<2F>ж<EFBFBD><D0B6>ļ<EFBFBD><C4BC><EFBFBD>С<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ȷ
CFileStatus status;
CFile::GetStatus(strName,status);
if ( status.m_size > m_lMaxImageSize)
{
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><EFBFBD><EFBFBD>"),MB_ICONWARNING);
return ;
}
if ( !UpdateData(true) )
return ;
m_strImageName = strName;
UpdateData(false);
}
}