#if !defined(AFX_K_SMSTASK_H__669BCE69_70B5_4E94_AB49_A804C882694A__INCLUDED_)
#define AFX_K_SMSTASK_H__669BCE69_70B5_4E94_AB49_A804C882694A__INCLUDED_

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

/////////////////////////////////////////////////////////////////////////////
// CK_SmsTask dialog

#include "..\public\reportctrl\ReportCtrl.h"
#include "DLG_Process.h"
#include "TabDlg.h"


typedef CTypedPtrList<CPtrList, ANS_PLTaskSms_SeeData*>  CPLTaskSmsData;


#define MENU_LIST_SEE      WM_USER + 250
#define MENU_LIST_ADDBACK  WM_USER + 251
#define MENU_LIST_CORPLIST WM_USER + 252
#define MENU_LIST_CORPOFF  WM_USER + 253
#define MENU_LIST_EXPORT   WM_USER + 254
#define MENU_LIST_COPY     WM_USER + 255
#define MENU_LIST_SENDBBS  WM_USER + 256
#define MENU_LIST_SMSLIST  WM_USER + 357

#define MENU_SMSTASK_PASS     WM_USER + 410
#define MENU_SMSTASK_NOPASS   WM_USER + 411
#define MENU_SMSTASK_STOP     WM_USER + 412
#define MENU_SMSTASK_RESEND   WM_USER + 413


class CMainFrame;
class CProcessSocket;
class CK_SmsTask : public CDialog
{
public:
	long             m_lCheckCount;  //��Ҫ��˵�����
	long             m_lQueryCorpID;

protected:
	CMainFrame *     m_pMainFrame;
	CProcessSocket * m_pSocket;
	CImageList       m_Image;
	CCorpName        m_Corp;
	CPLTaskSmsData        m_ListData;

	BOOL             m_bRefresh;
	BOOL m_bInit;   //�Ƿ��ѳ�ʼ��

	//DLG_Process      m_Process;
	//BOOL             m_bProcess;
// Construction
public:
	void SmsCheckup(BOOL bPass, BOOL bAllSelect=true);
	void On_User_SmsList();
	void Close_ListData();
	void Close_Corp();
	long GetCurrentSelected();
	void ShowRMenu();
	void Close();
	BOOL ProcessSocket(Socket_Head *pHead);
	BOOL ProcessSocket(Socket_Head_Add *pHead,BYTE* pFrame);
	BOOL RefreshInfo();
	BOOL ReHide();
	BOOL ReShow(BOOL bRefresh=false);
	CK_SmsTask(CWnd* pParent = NULL);   // standard constructor

// Dialog Data
	//{{AFX_DATA(CK_SmsTask)
	enum { IDD = IDD_K_SMSTASK };
	CEdit	m_E_CorpID;
	CButton	m_S_S1;
	CComboBox	m_L_Corp;
	CReportCtrl	m_wndList;
	int		m_lCorp;
	COleDateTime	m_tBegin;
	COleDateTime	m_tEnd;
	int		m_lTop;
	int		m_lStatus;
	//}}AFX_DATA


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

// Implementation
public:
	afx_msg void OnListQuery();

protected:

	// Generated message map functions
	//{{AFX_MSG(CK_SmsTask)
	virtual BOOL OnInitDialog();
	afx_msg void OnSize(UINT nType, int cx, int cy);
	afx_msg void OnDblclkListList(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnListQuery2();
	afx_msg void OnRclickListList(NMHDR* pNMHDR, LRESULT* pResult);
	//}}AFX_MSG
	afx_msg void On_User_See();
	afx_msg void On_User_AddBack();
	afx_msg void On_User_SendBBS();
	afx_msg void On_User_Export();
	afx_msg void On_User_CorpList();
	afx_msg void On_User_CorpOFF();
	afx_msg void On_User_Copy();

	afx_msg void On_Task_Pass();
	afx_msg void On_Task_NoPass();
	afx_msg void On_Task_Stop();
	afx_msg void On_Task_ReSend();

	DECLARE_MESSAGE_MAP()
public:
	afx_msg void OnTimer(UINT_PTR nIDEvent);
};

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

#endif // !defined(AFX_K_SMSTASK_H__669BCE69_70B5_4E94_AB49_A804C882694A__INCLUDED_)