#if !defined(AFX_K_BBS_H__BAA4D36B_7433_4FD5_BFF5_FAE62A7110B7__INCLUDED_)
#define AFX_K_BBS_H__BAA4D36B_7433_4FD5_BFF5_FAE62A7110B7__INCLUDED_

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

/////////////////////////////////////////////////////////////////////////////
// CK_BBS dialog
#include "..\public\reportctrl\ReportCtrl.h"
class CMainFrame;
class CProcessSocket;

#define MENU_BBS_ADD     WM_USER + 350
#define MENU_BBS_SEE     WM_USER + 351
#define MENU_BBS_DEL     WM_USER + 352
#define MENU_BBS_REMSG   WM_USER + 353
#define MENU_BBS_REFRESH WM_USER + 354



typedef CTypedPtrList<CPtrList, ANS_Agent_NameData*>  CAgentName;
typedef CTypedPtrList<CPtrList, ANS_YWY_NameData*>  CYWYName;

typedef CTypedPtrList<CPtrList, ANS_BBS_SeeData*>  CBBS;

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

	CBBS             m_BBS;
	CAgentName       m_Agent;
	CYWYName         m_YWY;

	BOOL             m_bRefresh;
	BOOL m_bInit;   //�Ƿ��ѳ�ʼ��
// Construction
public:
	CString FindYWY( long lYWYID);
	CString FindAgent(long lAgentID);
	void Close_BBS();
	void Close_YWY();
	void Close_Agent();
	void ShowRMenu();
	BOOL isLockItem(long lItem, BOOL bShowWarning=true);
	void SetLockItem(long lItem, BOOL bLock);
	long GetCurrentSelected();
	BOOL ProcessSocket(Socket_Head *pHead);
	BOOL ReShow(BOOL bRefresh=false);
	BOOL ReHide();
	void Close();
	BOOL RefreshInfo();
	CK_BBS(CWnd* pParent = NULL);   // standard constructor

// Dialog Data
	//{{AFX_DATA(CK_BBS)
	enum { IDD = IDD_BBS };
	CReportCtrl	m_wndList;
	//}}AFX_DATA


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

// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(CK_BBS)
	virtual BOOL OnInitDialog();
	afx_msg void OnSize(UINT nType, int cx, int cy);
	afx_msg void OnDblclkBbsList(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnRclickBbsList(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnKeydownBbsList(NMHDR* pNMHDR, LRESULT* pResult);
	//}}AFX_MSG
	afx_msg void On_BBS_Add();
	afx_msg void On_BBS_See();
	afx_msg void On_BBS_Del();
	afx_msg void On_BBS_ReMsg();
	afx_msg void On_BBS_Refresh();
	DECLARE_MESSAGE_MAP()
};

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

#endif // !defined(AFX_K_BBS_H__BAA4D36B_7433_4FD5_BFF5_FAE62A7110B7__INCLUDED_)