#pragma once
#include "afxdialogex.h"


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


typedef CTypedPtrList<CPtrList, ANS_AllQuery_Client_Data*>  CAllQuery_ClientData;


#define MENU_ALLQUERY_CLIENT_SEE      WM_USER + 250
#define MENU_ALLQUERY_CLIENT_COPYID   WM_USER + 252
#define MENU_ALLQUERY_CLIENT_COPYNAME  WM_USER + 253

class CMainFrame;
class CProcessSocket;

// CK_AllQuery_Client 对话框

class CK_AllQuery_Client : public CDialogEx
{
	DECLARE_DYNAMIC(CK_AllQuery_Client)

public:

protected:
	CMainFrame* m_pMainFrame;
	CProcessSocket* m_pSocket;
	CImageList       m_Image;
	CAllQuery_ClientData   m_ListData;
	long             m_lMsgCount;

	BOOL             m_bRefresh;
	BOOL m_bInit;   //是否已初始化
public:

	void Close_ListData();
	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_AllQuery_Client(CWnd* pParent = nullptr);   // 标准构造函数
	virtual ~CK_AllQuery_Client();

// 对话框数据
#ifdef AFX_DESIGN_TIME
	enum { IDD = IDD_K_ALLQUERY_CLIENT };
#endif

protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持

	DECLARE_MESSAGE_MAP()
public:

	CReportCtrl m_wndList;
	CStatic m_S_S1;

	virtual BOOL OnInitDialog();
	virtual void OnOK();
	virtual void OnCancel();
	afx_msg void OnSize(UINT nType, int cx, int cy);
	afx_msg void OnClose();

	afx_msg void OnDblclkAllqueryClientList(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnRdblclkAllqueryClientList(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnBnClickedAllqueryClientQuery();


	afx_msg void On_User_See();
	afx_msg void On_User_CopyID();
	afx_msg void On_User_CopyName();

	CString m_strKey;
	CComboBox m_L_PT;
	afx_msg void OnRclickAllqueryClientList(NMHDR* pNMHDR, LRESULT* pResult);
};