#if !defined(AFX_FTDSet_H__8F2FBEC5_9383_4A79_B75C_162AC8206DCE__INCLUDED_)
#define AFX_FTDSet_H__8F2FBEC5_9383_4A79_B75C_162AC8206DCE__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// FTDSet.h : header file
//

/////////////////////////////////////////////////////////////////////////////
// CFTDSet dialog
#include "..\public\reportctrl\ReportCtrl.h"
#include "..\PUBLIC\CorpSms.h"	// Added by ClassView
#include "DLG_GetUser.h"
/////////////////////////////////////////////////////////////////////////////


#define MENU_BACK_ADD       WM_USER+280   //添加管理员
#define MENU_BACK_MODIFY    WM_USER+281   //添加管理员
#define MENU_BACK_DELETE    WM_USER+282   //添加管理员
#define MENU_BACK_INPORT    WM_USER+283   //添加管理员
#define MENU_BACK_EXPORT    WM_USER+284   //添加管理员
#define MENU_BACK_REFRESH   WM_USER+285   //添加管理员
#define MENU_BACK_FIND      WM_USER+286   //添加管理员

typedef CTypedPtrList<CPtrList, ANS_TDSet_Data*>  CTDData;
typedef CTypedPtrList<CPtrList, ANS_TDSet_InsData*>  CTDDataIns;


// CFQuery dialog
class CMainFrame;
class CProcessSocket;
class CFTDSet : public CDialog
{
protected:
	CMainFrame *     m_pMainFrame;
	CProcessSocket * m_pSocket;
	CImageList       m_Image;
	BOOL             m_bRefresh;  //是否已刷新过数据
	BOOL             m_bRefresh2;  //是否已刷新过数据
	BOOL m_bInit;   //是否已初始化
	ANS_CliSmsTD     m_CliSmsTD;
	BYTE       *     m_CliSmsTDData;

	CTDData          m_TDData;
	CTDDataIns       m_TDDataIns;

	CAdoRecordSet    m_AdoRS;
	CAdoRecordSet    m_AdoRS2;


// Construction
public:
	BOOL MobileInList(CString strMobile);
	void Close_TDSet();
	void Close_TDSetIns();
	CString GetTDName( TCHAR cTD , long lType );
	void Close();
	BOOL ProcessSocket(Socket_Head_Add *pHead, BYTE *pFrame);
	BOOL AddUser(PAddress user , long lItem=-1);
	void ShowBack();
	BOOL QueryMobile(const TCHAR *pMobile,long lID);
	long GetCurrentSelected();
	void ShowRMenu();
	BOOL ProcessSocket(Socket_Head *pHead);
	BOOL RefreshInfo();
	BOOL ReShow(BOOL bRefresh=false);
	BOOL ReHide();
	CFTDSet(CWnd* pParent = NULL);   // standard constructor

// Dialog Data
	//{{AFX_DATA(CFTDSet)
	enum { IDD = IDD_QUERYFILT };
	CReportCtrl	m_wndList;
	//}}AFX_DATA


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CFTDSet)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(CFTDSet)
	virtual BOOL OnInitDialog();
	afx_msg void OnSize(UINT nType, int cx, int cy);
	virtual void OnOK();
	virtual void OnCancel();
	afx_msg void OnDblclkQueryfiltList(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnKeydownQueryfiltList(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnRclickQueryfiltList(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnDestroy();
	//}}AFX_MSG

	afx_msg void On_R_Add();
	afx_msg void On_R_Modify();
	afx_msg void On_R_Delete();
	afx_msg void On_R_Inport();
	afx_msg void On_R_Export();
	afx_msg void On_R_Refresh();
	afx_msg void On_R_Find();

	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_FTDSet_H__8F2FBEC5_9383_4A79_B75C_162AC8206DCE__INCLUDED_)