#if !defined(AFX_FQXBox_Group_H__949DD886_CB69_4F9D_99BA_09B487359447__INCLUDED_)
#define AFX_FQXBox_Group_H__949DD886_CB69_4F9D_99BA_09B487359447__INCLUDED_

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

/////////////////////////////////////////////////////////////////////////////
// CFQXBox_Group dialog
#include "..\public\reportctrl\ReportCtrl.h"
#include "DLG_GetUser.h"
#include "DLG_QXBox_Group_Modify.h"
#include "DLG_GetUser.h"
#include "DLG_QXBox_Group_Chat.h"
#include "DLG_QXBox_Group_Send.h"

#define MENU_QXBOX_GROUP_ADD        WM_USER+250   //删除
#define MENU_QXBOX_GROUP_MODIFY     WM_USER+251   //刷新
#define MENU_QXBOX_GROUP_DEL        WM_USER+252   //刷新
#define MENU_QXBOX_GROUP_SEND       WM_USER+253   //刷新
#define MENU_QXBOX_GROUP_REFRESH    WM_USER+254   //刷新
#define MENU_QXBOX_GROUP_MOBILEADD     WM_USER+260   //刷新
#define MENU_QXBOX_GROUP_MOBILEDEL     WM_USER+261   //刷新
#define MENU_QXBOX_GROUP_CANCEL        WM_USER+262   //取消操作
#define MENU_QXBOX_GROUP_RESTART       WM_USER+263   //重启操作
#define MENU_QXBOX_GROUP_CHAT          WM_USER+264   //收发日志

typedef CTypedPtrList<CPtrList, ANS_QXBox_Group_SeeData*>  CQXGroup;
typedef CTypedPtrArray<CPtrArray, DLG_QXBox_Group_Chat*> CDLG_QXBox_Group_Chat;

class CMainFrame;
class CProcessSocket;
class DLG_QXBox_Group_Modify;
class CFQXBox_Group : public CDialog
{
public:
	CMainFrame *     m_pMainFrame;

protected:
	CProcessSocket * m_pSocket;
	CImageList       m_Image;
	BOOL             m_bRefresh;  //是否已刷新过数据
	BOOL             m_bShowToday; //是否仅显示当天的数据
	BOOL m_bInit;   //是否已初始化

	CQXGroup        m_qxGroup;
	CAdoRecordSet    m_AdoRS;
	DLG_QXBox_Group_Modify m_wndModify;
	CFile            m_ImageFile;
	CString          m_strEndSendMsg;
	BOOL             m_bSendType;
	BOOL             m_bSending;

	CDLG_QXBox_Group_Chat m_wndChat;
	CCriticalSection      m_Chat_Lock;


protected:
	DLG_GetUser     m_DlgProcess;
	BOOL            m_bShowProcess;
// Construction
public:
	void ShowRMenu();
	void SetToday( BOOL bToday );
	BOOL ProcessSocket(Socket_Head_Add *pHead, BYTE *pFrame);
	long GetCurrentSelected();
	BOOL RefreshInfo();
	BOOL ReShow(BOOL bRefresh=false);
	BOOL ReHide();
	void Close_Data();
	CFQXBox_Group(CWnd* pParent = NULL);   // standard constructor

// Dialog Data
	//{{AFX_DATA(CFQXBox_Group)
	enum { IDD = IDD_QXBOX_GROUP };
	CReportCtrl	m_wndList;
	//}}AFX_DATA


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

// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(CFQXBox_Group)
	virtual BOOL OnInitDialog();
	afx_msg void OnSize(UINT nType, int cx, int cy);
	afx_msg void OnDblclkSmsdsList(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnRclickSmsdsList(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnKeydownSmsdsList(NMHDR* pNMHDR, LRESULT* pResult);
	virtual void OnOK();
	virtual void OnCancel();
	afx_msg void OnDestroy();
	//}}AFX_MSG
	afx_msg void On_DS_Add();
	afx_msg void On_DS_Modify();
	afx_msg void On_DS_Del();
	afx_msg void On_DS_Send();
	afx_msg void On_DS_Chat();
	afx_msg void On_DS_Refresh();
	afx_msg void On_DS_MobileAdd();
	afx_msg void On_DS_MobileDel();
	afx_msg void On_DS_Restart();
	afx_msg void On_DS_Cancel();

	DECLARE_MESSAGE_MAP()
public:
	int ShowInList(int lItem, ANS_QXBox_Group_SeeData * pData);
	int GroupEndDialog(DLG_QXBox_Group_Modify * pDlg,long lModifyType,ANS_QXBox_Group_SeeData data);
	int SendNextImage(long lRtx_GroupTaskID);
	void ChatPop_Del(DLG_QXBox_Group_Chat * pPop);
	afx_msg void OnTimer(UINT_PTR nIDEvent);
	BOOL SendMsgData(REQ_QXBox_Group_SendData send,CString strMsgIn,CString strMsgImageName,long lSendType);
	BOOL On_DS_Chat_Add(ANS_QXBox_Group_SeeData SeeData);
	BOOL On_DS_Chat_Show(REQ_QXBox_Group_SendData SendData,CString strMsg);
};

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

#endif // !defined(AFX_FQXBox_Group_H__949DD886_CB69_4F9D_99BA_09B487359447__INCLUDED_)