358 lines
10 KiB
C++
358 lines
10 KiB
C++
#if !defined(AFX_DLG_SENDMMS_H__E40B88D3_EE04_4F3E_A8E8_D22BE854CDE8__INCLUDED_)
|
||
#define AFX_DLG_SENDMMS_H__E40B88D3_EE04_4F3E_A8E8_D22BE854CDE8__INCLUDED_
|
||
|
||
#if _MSC_VER > 1000
|
||
#pragma once
|
||
#endif // _MSC_VER > 1000
|
||
// DLG_SendMms.h : header file
|
||
//
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
// DLG_SendMms dialog
|
||
|
||
#include ".\LuButton\LuButton.h"
|
||
#include "..\public\BtnST\BtnST.h"
|
||
#include "..\public\reportctrl\ReportCtrl.h"
|
||
#include "UserDropTarget.h"
|
||
#include "label.h"
|
||
#include "DLG_Send.h"
|
||
#include "StdAfx.h" // Added by ClassView
|
||
|
||
#include "MmsHtmlCtrl.h"
|
||
|
||
#include <streams.h>
|
||
#include "CDXGraph.h"
|
||
#include "afxwin.h"
|
||
#include "CPictureCtrl.h"
|
||
|
||
#define SEND_FAX_USER_ADD WM_USER+320
|
||
#define SEND_FAX_USER_MODIFY WM_USER+321
|
||
#define SEND_FAX_USER_DEL WM_USER+322
|
||
#define SEND_FAX_USER_CLEAR WM_USER+323
|
||
#define SEND_FAX_USER_INPORT WM_USER+324
|
||
#define SEND_FAX_USER_EXPORT WM_USER+325
|
||
#define SEND_FAX_USER_STATUS WM_USER+326
|
||
|
||
#define MENU_MMS_Z_ADDBEGIN WM_USER+420
|
||
#define MENU_MMS_Z_ADDEND WM_USER+421
|
||
#define MENU_MMS_Z_ADDCBEGIN WM_USER+422
|
||
#define MENU_MMS_Z_ADDCEND WM_USER+423
|
||
#define MENU_MMS_Z_DEL WM_USER+424
|
||
//#define MENU_MMS_Z_DEL_ALL WM_USER+425
|
||
//#define MENU_MMS_Z_DEL_ALLNULL WM_USER+426
|
||
|
||
|
||
#define MENU_MMS_BMP_INS WM_USER+450
|
||
#define MENU_MMS_BMP_REP WM_USER+451
|
||
#define MENU_MMS_BMP_DEL WM_USER+452
|
||
|
||
#define MENU_MMS_MIDI_INS WM_USER+460
|
||
#define MENU_MMS_MIDI_REP WM_USER+461
|
||
#define MENU_MMS_MIDI_DEL WM_USER+462
|
||
|
||
#define MENU_MMS_PASTE WM_USER+470
|
||
|
||
typedef struct _SaveMmsStatus
|
||
{
|
||
long lSendID;
|
||
TCHAR szStatus[4];
|
||
long lItemID;
|
||
long lMmsFileID;
|
||
long lStatus; //发送状态,0-提交成功,1-提交失败,2-用户余额不足,3-企业余额不足,4-企业已过期
|
||
TCHAR szSendNum[32];//发送号码
|
||
TCHAR szName[32]; //目标姓名
|
||
TCHAR szMmsNum[32]; //目标号码
|
||
TCHAR szTitle[64]; //短信内容
|
||
long lmmSize; //彩信附件大小
|
||
}SaveMmsStatus;
|
||
typedef CTypedPtrList<CPtrList, SaveMmsStatus*> CSaveMmsStatus;
|
||
|
||
|
||
//定义MMS使用的版与结构头
|
||
#ifdef _UNICODE
|
||
#define MOBSET_MMS_VER MOBSET_MMS_VER_2
|
||
#define MMS_Head MMS_Head_2
|
||
#define MMS_Z MMS_Z_2
|
||
#else
|
||
#define MOBSET_MMS_VER MOBSET_MMS_VER_1
|
||
#define MMS_Head MMS_Head_1
|
||
#define MMS_Z MMS_Z_1
|
||
#endif
|
||
|
||
|
||
|
||
class CMainFrame;
|
||
class CProcessSocket;
|
||
class DLG_SendMms : public CDialog
|
||
{
|
||
public:
|
||
CMainFrame * m_pMainFrame;
|
||
|
||
protected:
|
||
CImageList m_Image; //图像列表
|
||
CRect m_OldRect; //原Dlg的Rect
|
||
CProcessSocket * m_pSocket;
|
||
BOOL m_bInit; //列表是否已实始化
|
||
BOOL m_bModify; //是否有修改过
|
||
BOOL m_bAttachModify; //附件是否修改过
|
||
|
||
CAdoRecordSet m_AdoRS;
|
||
CAdoRecordSet m_AdoRS2;
|
||
CAdoRecordSet m_AdoRS3;
|
||
CAdoRecordSet m_AdoRS4;
|
||
CAdoRecordSet m_AdoRS5;
|
||
CAdoRecordSet m_AdoRS6;
|
||
CUserDropTarget m_UserDrop;
|
||
|
||
|
||
|
||
|
||
long m_lBoxID; //BoxID
|
||
long m_lBoxType; //列表类型0,待发,1,已发
|
||
long m_lMmsUpID; //传真上传ID
|
||
|
||
//以下为发送时的内容
|
||
BOOL m_bSend; //是否正在发送
|
||
SYSTEMTIME m_tTimer; //定时时间
|
||
long m_lSendIndex; //发送列表里的Index
|
||
long m_lSendOK; //发送成功计数
|
||
BOOL m_bShowFiltWarning;//是否允许显示过滤警告
|
||
BOOL m_bShowFiltFirst; //是否第一次显示过滤警告
|
||
BOOL m_bFilt; //是否需要审核
|
||
BOOL m_bFiltOver; //是否需要过量审核
|
||
|
||
//以下为重复号码提醒通知
|
||
BOOL m_bShowReMobile; //是否显示重复号码通知
|
||
long m_lReMobileType; //如果有重复号码,重理类型,0-跳过,1-再添加一次
|
||
|
||
//以下为黑名单提醒通知
|
||
BOOL m_bBackReMobile; //是否显示重复号码通知
|
||
long m_lBackReMobileType; //如果有重复号码,重理类型,0-跳过,1-再添加一次
|
||
|
||
//以下为发送生日祝福专用
|
||
BOOL m_bSendSR;
|
||
|
||
//计算发送时间
|
||
DWORD m_dwSendStartTime;
|
||
|
||
//使用线程保存发送状态
|
||
CSaveMmsStatus m_SaveItemStatus;
|
||
|
||
//记录发送数量
|
||
DWORD m_dwBackCount; //黑名单数量
|
||
DWORD m_dwNoSupCount; //不支持号码数量
|
||
DWORD m_dwNoMsgCount; //没内容数量
|
||
|
||
BOOL m_bSaveList;
|
||
long m_lPage;
|
||
|
||
//传真发送参数
|
||
#define MMS_CURSENDTYPE_ID 0
|
||
#define MMS_CURSENDTYPE_FILE 1
|
||
#define MMS_CURSENDTYPE_NUM 2
|
||
#define MMS_CURSENDTYPE_COMPLETE 10
|
||
#define MMS_CURSENDTYPE_ERROR 20
|
||
long m_lCurSendType; //当送发送类型,0-ID,1-File,2-FaxNum
|
||
CString m_strTitle;
|
||
|
||
|
||
//播放midi
|
||
CString m_strEndMidiFile;
|
||
CDXGraph * m_pFilterGraph; // Filter Graph封装
|
||
BOOL m_bMidiPlay; //是否正在播放Midi
|
||
BOOL m_bMmsPlay; //是否正在播放彩信
|
||
|
||
|
||
//彩信编辑
|
||
CMmsHtmlCtrl m_Html;
|
||
|
||
MMS_Head m_MMS_Head;
|
||
MMS_Z m_MMS_Z[MOBSET_MMS_MAX_Z];
|
||
|
||
long m_MMS_CurZ;
|
||
BYTE * m_MMS_File; //生成的mms文件
|
||
long m_MMS_FileSize;
|
||
long m_MMS_FileUpLen;
|
||
|
||
BOOL m_bCtrlEnable; //当前的编辑状态
|
||
|
||
|
||
// Construction
|
||
public:
|
||
CStringA ConvertUnicodeToUtf8(CStringW &strUni);
|
||
void ConvertGBKToUtf8_(CStringA &strGBK);
|
||
void ConvertUtf8ToGBK_(CStringA &strUtf8);
|
||
void ConvertUtf8ToGBK(CString &strUtf8);
|
||
void ConvertGBKToUtf8(CString &strGBK);
|
||
void CloseAutoSave(void);
|
||
void Mms_ShowPlayMidi();
|
||
BOOL Graph_Create(CString strFileName);
|
||
void Graph_Destroy();
|
||
BOOL Mms_DeleteDirectory(CString sDirName);
|
||
BOOL Mms_TJ();
|
||
BOOL Mms_Close_Z(MMS_Z & mms,BOOL bDel);
|
||
BOOL Mms_ResetSelZ();
|
||
BOOL Mms_Close();
|
||
BOOL Mms_New();
|
||
BOOL Mms_Showscroll();
|
||
BOOL Mms_Showmm();
|
||
CString GetOtherSendRetMsg();
|
||
BOOL isBack(const TCHAR *pMobile);
|
||
void SetListTextTip(CString str);
|
||
void RefreshStatusAndLog();
|
||
BOOL ProcessSocket(Socket_Head_Add *pHead, BYTE *pFrame);
|
||
BOOL SendNextMms_Complete();
|
||
BOOL SendNextMms_Num();
|
||
BOOL SendNextMms_File();
|
||
BOOL SendNextMms_ID();
|
||
BOOL SendNextMms();
|
||
long GetCurrentSelected();
|
||
void ShowRMenu();
|
||
BOOL IsSend();
|
||
long GetBoxID();
|
||
Send_User GetUser( long lItem,BOOL bDelay=false );
|
||
void EnableModifyWindow( BOOL bModify );
|
||
static UINT AutoSaveLog(void *pParam);
|
||
static UINT AutoSaveItem(void *pParam);
|
||
BOOL List_Save(BOOL bTJ=false);
|
||
BOOL List_Save_mm(long & lSize);
|
||
BOOL List_AddUser( long lCount , Send_User * pUser );
|
||
BOOL List_ReSend( long lBoxID );
|
||
BOOL List_Read( long lBoxID );
|
||
BOOL List_New();
|
||
BOOL CloseList();
|
||
BOOL isMobileInList(const TCHAR *pMobile);
|
||
BOOL IsLocakBack(CString strMobile);
|
||
void RefreshListCount();
|
||
void AddUser( Send_User user,long lItem = -1 );
|
||
void InitItem();
|
||
void SetMainFrame(CMainFrame *pFrame);
|
||
void DLG_SendMms::OnSendTask2();
|
||
DLG_SendMms(CWnd* pParent = NULL); // standard constructor
|
||
|
||
// Dialog Data
|
||
//{{AFX_DATA(DLG_SendMms)
|
||
enum { IDD = IDD_SENDMMS };
|
||
CLabel m_MMS_ID;
|
||
CStatic m_S_Midi_Time;
|
||
CButton m_B_Midi_Play;
|
||
CSliderCtrl m_S_Midi_Slider;
|
||
CButtonST m_B_Forward;
|
||
CButtonST m_B_Next;
|
||
CButtonST m_B_Play;
|
||
CButton m_Mms_ZP;
|
||
CLabel m_Mms_ZS;
|
||
CComboBox m_Mms_Z;
|
||
CLabel m_Mms_Txt;
|
||
CLabel m_Mms_Midi;
|
||
CComboBox m_Mms_Delay;
|
||
CLabel m_Mms_Bmp;
|
||
CEdit m_E_Title;
|
||
CButton m_B_SaveSendLog;
|
||
LuButton m_B_Start;
|
||
LuButton m_B_Save;
|
||
LuButton m_B_Open;
|
||
LuButton m_B_SaveAs;
|
||
LuButton m_B_Template;
|
||
LuButton m_B_SC;
|
||
CButton m_S_S1;
|
||
CButton m_B_ReMobile;
|
||
CButton m_B_Add;
|
||
CEdit m_E_Num;
|
||
LuButton m_B_Null;
|
||
LuButton m_B_New2;
|
||
LuButton m_B_New;
|
||
CButton m_S_MsgList;
|
||
CButton m_S_ListCount;
|
||
CListCtrl m_wndList;
|
||
CDateTimeCtrl m_D_Time;
|
||
CDateTimeCtrl m_D_Date;
|
||
CButton m_B_DS;
|
||
//}}AFX_DATA
|
||
|
||
|
||
// Overrides
|
||
// ClassWizard generated virtual function overrides
|
||
//{{AFX_VIRTUAL(DLG_SendMms)
|
||
public:
|
||
virtual BOOL PreTranslateMessage(MSG* pMsg);
|
||
protected:
|
||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
||
//}}AFX_VIRTUAL
|
||
|
||
// Implementation
|
||
protected:
|
||
virtual LRESULT OnDrop(WPARAM wParam, LPARAM lParm);
|
||
// Generated message map functions
|
||
//{{AFX_MSG(DLG_SendMms)
|
||
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
|
||
virtual BOOL OnInitDialog();
|
||
afx_msg void OnSize(UINT nType, int cx, int cy);
|
||
afx_msg void OnTimer(UINT_PTR nIDEvent);
|
||
afx_msg void OnClose();
|
||
afx_msg void OnDestroy();
|
||
afx_msg void OnSendfaxNumadd();
|
||
afx_msg void OnSendfaxNumPaste();
|
||
afx_msg void OnSendfaxDs();
|
||
afx_msg void OnSendfaxNew2();
|
||
afx_msg void OnSendfaxNew();
|
||
afx_msg void OnSendfaxSave();
|
||
afx_msg void OnDblclkSendfaxList(NMHDR* pNMHDR, LRESULT* pResult);
|
||
afx_msg void OnRclickSendfaxList(NMHDR* pNMHDR, LRESULT* pResult);
|
||
afx_msg void OnKeydownSendfaxList(NMHDR* pNMHDR, LRESULT* pResult);
|
||
afx_msg void OnDatetimechangeSendfaxDsD(NMHDR* pNMHDR, LRESULT* pResult);
|
||
afx_msg void OnDatetimechangeSendfaxDsT(NMHDR* pNMHDR, LRESULT* pResult);
|
||
afx_msg void OnChangeSendFaxTitle();
|
||
afx_msg void OnSendfaxStart();
|
||
afx_msg void OnSendMmsZp();
|
||
afx_msg void OnSendMmsMidi();
|
||
afx_msg void OnSendMmsTxt();
|
||
afx_msg void OnEditchangeSendMmsDelay();
|
||
afx_msg void OnSelchangeSendMmsDelay();
|
||
afx_msg void OnSelchangeSendMmsZ();
|
||
afx_msg void OnSendMmsPlay();
|
||
afx_msg void OnSendMmsMidiPlay();
|
||
afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
|
||
afx_msg void OnSendMmsNext();
|
||
afx_msg void OnSendMmsForward();
|
||
afx_msg void OnSendMmsZAdd();
|
||
afx_msg void OnSendMmsZDel();
|
||
afx_msg void OnSendMmsZClear();
|
||
//}}AFX_MSG
|
||
afx_msg void On_User_Add();
|
||
afx_msg void On_User_Modify();
|
||
afx_msg void On_User_Del();
|
||
afx_msg void On_User_Clear();
|
||
afx_msg void On_User_Inport();
|
||
afx_msg void On_User_Export();
|
||
afx_msg void On_User_Status();
|
||
afx_msg void On_Mms_Z_AddBegin();
|
||
afx_msg void On_Mms_Z_AddEnd();
|
||
afx_msg void On_Mms_Z_AddCEnd();
|
||
afx_msg void On_Mms_Z_AddCBegin();
|
||
afx_msg void On_Mms_Z_Del();
|
||
afx_msg void On_Mms_Bmp_Ins();
|
||
afx_msg void On_Mms_Bmp_Rep();
|
||
afx_msg void On_Mms_Bmp_Del();
|
||
afx_msg void On_Mms_Midi_Ins();
|
||
afx_msg void On_Mms_Midi_Rep();
|
||
afx_msg void On_Mms_Midi_Del();
|
||
afx_msg LRESULT OnGraphNotify(WPARAM inWParam, LPARAM inLParam);
|
||
DECLARE_MESSAGE_MAP()
|
||
public:
|
||
CButton m_B_Task;
|
||
afx_msg void OnBnClickedSendmmsTask();
|
||
afx_msg void OnBnClickedSendfaxSaveas();
|
||
afx_msg void OnBnClickedSendfaxOpen();
|
||
virtual void OnOK();
|
||
afx_msg void OnStnClickedSendMmsBmp();
|
||
afx_msg void OnStnClickedSendMmsTxt();
|
||
afx_msg void OnClickedSendfaxRemobile();
|
||
CPictureCtrl m_MmsBack;
|
||
};
|
||
|
||
//{{AFX_INSERT_LOCATION}}
|
||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
||
|
||
#endif // !defined(AFX_DLG_SENDMMS_H__E40B88D3_EE04_4F3E_A8E8_D22BE854CDE8__INCLUDED_)
|