CorpSms/DLG_SendMms.h

358 lines
10 KiB
C
Raw Permalink Normal View History

2025-02-27 16:58:16 +08:00
#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"
2025-02-27 16:58:16 +08:00
#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; //<2F><><EFBFBD><EFBFBD>״̬,0-<2D><EFBFBD>ɹ<EFBFBD>,1-<2D>ύʧ<E1BDBB><CAA7>,2-<2D>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EEB2BB>,3-<2D><>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EEB2BB>,4-<2D><>ҵ<EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD>
TCHAR szSendNum[32];//<2F><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD>
TCHAR szName[32]; //Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
TCHAR szMmsNum[32]; //Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
TCHAR szTitle[64]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
long lmmSize; //<2F><><EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD>С
}SaveMmsStatus;
typedef CTypedPtrList<CPtrList, SaveMmsStatus*> CSaveMmsStatus;
//<2F><><EFBFBD><EFBFBD>MMSʹ<53>õİ<C3B5><C4B0><EFBFBD><EFBFBD>ṹͷ
#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; //ͼ<><CDBC><EFBFBD>б<EFBFBD>
CRect m_OldRect; //ԭDlg<6C><67>Rect
CProcessSocket * m_pSocket;
BOOL m_bInit; //<2F>б<EFBFBD><D0B1>Ƿ<EFBFBD><C7B7><EFBFBD>ʵʼ<CAB5><CABC>
BOOL m_bModify; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>޸Ĺ<DEB8>
BOOL m_bAttachModify; //<2F><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>޸Ĺ<DEB8>
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; //<2F>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>0,<2C><><EFBFBD><EFBFBD>,1,<2C>ѷ<EFBFBD>
long m_lMmsUpID; //<2F><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>ID
//<2F><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BOOL m_bSend; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ڷ<EFBFBD><DAB7><EFBFBD>
SYSTEMTIME m_tTimer; //<2F><>ʱʱ<CAB1><CAB1>
long m_lSendIndex; //<2F><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>Index
long m_lSendOK; //<2F><><EFBFBD>ͳɹ<CDB3><C9B9><EFBFBD><EFBFBD><EFBFBD>
BOOL m_bShowFiltWarning;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>˾<EFBFBD><CBBE><EFBFBD>
BOOL m_bShowFiltFirst; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>˾<EFBFBD><CBBE><EFBFBD>
BOOL m_bFilt; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>
BOOL m_bFiltOver; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>Ϊ<EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֪ͨ
BOOL m_bShowReMobile; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ<EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>֪ͨ
long m_lReMobileType; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EBA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
//<2F><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֪ͨ
BOOL m_bBackReMobile; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ<EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>֪ͨ
long m_lBackReMobileType; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EBA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
//<2F><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ף<EFBFBD><D7A3>ר<EFBFBD><D7A8>
BOOL m_bSendSR;
//<2F><><EFBFBD><EFBFBD><E3B7A2>ʱ<EFBFBD><CAB1>
DWORD m_dwSendStartTime;
//ʹ<><CAB9><EFBFBD>̱߳<DFB3><CCB1><EFBFBD><E6B7A2>״̬
CSaveMmsStatus m_SaveItemStatus;
//<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DWORD m_dwBackCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DWORD m_dwNoSupCount; //<2F><>֧<EFBFBD>ֺ<EFBFBD><D6BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DWORD m_dwNoMsgCount; //û<><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BOOL m_bSaveList;
long m_lPage;
//<2F><><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>
#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; //<2F><><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>0-ID,1-File,2-FaxNum
CString m_strTitle;
//<2F><><EFBFBD><EFBFBD>midi
CString m_strEndMidiFile;
CDXGraph * m_pFilterGraph; // Filter Graph<70><68>װ
BOOL m_bMidiPlay; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD>Midi
BOOL m_bMmsPlay; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2>Ų<EFBFBD><C5B2><EFBFBD>
//<2F><><EFBFBD>ű༭
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; //<2F><><EFBFBD>ɵ<EFBFBD>mms<6D>ļ<EFBFBD>
long m_MMS_FileSize;
long m_MMS_FileUpLen;
BOOL m_bCtrlEnable; //<2F><>ǰ<EFBFBD>ı༭״̬
// 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);
2025-04-11 17:19:25 +08:00
afx_msg void OnTimer(UINT_PTR nIDEvent);
2025-02-27 16:58:16 +08:00
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;
2025-02-27 16:58:16 +08:00
};
//{{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_)