#if !defined(AFX_K_AGENT_H__33C544E5_CFE6_4876_B23E_D4391D0B3651__INCLUDED_)
#define AFX_K_AGENT_H__33C544E5_CFE6_4876_B23E_D4391D0B3651__INCLUDED_

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

/////////////////////////////////////////////////////////////////////////////
// CK_Agent dialog

#include "..\public\reportctrl\ReportCtrl.h"
#include "DLG_Corp_Analyse.h"

class CMainFrame;
class CProcessSocket;
class DLG_Corp_FP;
class DLG_Corp_SF;

#define MENU_AGENT_ADD     WM_USER + 350
#define MENU_AGENT_MODIFY  WM_USER + 351
#define MENU_AGENT_DEL     WM_USER + 352
#define MENU_AGENT_JF      WM_USER + 353
#define MENU_AGENT_MMSJF   WM_USER + 354
#define MENU_AGENT_REFRESH WM_USER + 355
#define MENU_AGENT_BZ      WM_USER + 356
#define MENU_AGENT_LXR      WM_USER + 357
#define MENU_AGENT_FP       WM_USER + 358
#define MENU_AGENT_OPER     WM_USER + 359
#define MENU_AGENT_SF         WM_USER + 360
#define MENU_AGENT_ANALYSE    WM_USER + 361


typedef CTypedPtrList<CPtrList, ANS_Agent_SeeData*>  CAgent;

class CK_Agent : public CDialog
{
public:
//protected:
	CMainFrame *     m_pMainFrame;
	CProcessSocket * m_pSocket;
	CImageList       m_Image;

	CAgent           m_Agent;

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

	DLG_Corp_FP     *m_pFPDlg;     //����˳���µ�
	DLG_Corp_SF     *m_pSFDlg;     //����˳���µ�
	DLG_Corp_Analyse  *m_pAnalyseDlg;     //����ͳ�Ʒ���

// Construction
public:
	BOOL FindLoginName(const TCHAR *pLoginName, POSITION exPos);
	long GetCurrentSelected();
	void ShowRMenu();
	BOOL FindAgentame(const TCHAR *pAgentName, POSITION exPos);
	void SetLockItem(long lItem, BOOL bLock);
	BOOL isLockItem(long lItem, BOOL bShowWarning=true);
	BOOL ProcessSocket(Socket_Head *pHead);
	BOOL ProcessSocket(Socket_Head_Add *pHead,BYTE* pFrame);
	BOOL ReShow(BOOL bRefresh=false);
	BOOL ReHide();
	void Close();
	BOOL RefreshInfo();
	CK_Agent(CWnd* pParent = NULL);   // standard constructor

// Dialog Data
	//{{AFX_DATA(CK_Agent)
	enum { IDD = IDD_AGENT };
	CReportCtrl	m_wndList;
	//}}AFX_DATA


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

// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(CK_Agent)
	virtual BOOL OnInitDialog();
	afx_msg void OnSize(UINT nType, int cx, int cy);
	afx_msg void OnDblclkAgentList(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnRclickAgentList(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnKeydownAgentList(NMHDR* pNMHDR, LRESULT* pResult);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

	afx_msg void On_Agent_Add();
	afx_msg void On_Agent_Modify();
	afx_msg void On_Agent_Del();
	afx_msg void On_Agent_Pay();
	afx_msg void On_Agent_MmsPay();
	afx_msg void On_Agent_Refresh();
	afx_msg void On_Agent_BZ();
	afx_msg void On_Agent_LXR();
	afx_msg void On_Agent_FP();
	afx_msg void On_Agent_SF();
	afx_msg void On_Agent_OPER();
	afx_msg void On_Agent_Analyse();

};

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

#endif // !defined(AFX_K_AGENT_H__33C544E5_CFE6_4876_B23E_D4391D0B3651__INCLUDED_)