#pragma once #include "afxcmn.h" /*! \class CUserCharTreeView °èÁ¤ÀÌ ¼ÒÀ¯Çϰí Àִ ij¸¯Å͸¦ ¼­¹ö±ºº°·Î ¿­¶÷ÇÒ ¼ö ÀÖ´Â Æ®¸®ºä */ class CUserCharTreeView : public CFormView { DECLARE_DYNCREATE(CUserCharTreeView) protected: CUserCharTreeView(); // µ¿Àû ¸¸µé±â¿¡ »ç¿ëµÇ´Â protected »ý¼ºÀÚÀÔ´Ï´Ù. virtual ~CUserCharTreeView(); public: enum { IDD = IDD_CHARTREEVIEW }; #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV Áö¿øÀÔ´Ï´Ù. DECLARE_MESSAGE_MAP() virtual void OnInitialUpdate(); virtual BOOL PreTranslateMessage(MSG* pMsg); public: struct BLOCK_INFO { enum TYPE { NONE = 0, ACCOUNT = 1, CHARACTER = 2, MAX_NAME = 20, }; unsigned char m_cType; unsigned long m_dwUID; unsigned long m_dwServerGroup; TCHAR m_szCharacterName[MAX_NAME]; }; struct SEL_TREEITEM_INFO { enum SEL_TYPE { NONE = 0, UID_NODE = 1, GROUP_NODE = 2, CHAR_NODE = 3, MAX_NAME = 20 }; unsigned char m_cSelType; unsigned long m_dwUID; unsigned long m_dwCID; unsigned long m_dwServerGroup; TCHAR m_szAccountName[MAX_NAME]; TCHAR m_szCharName[MAX_NAME]; }; unsigned long m_dwWndKey; BLOCK_INFO& GetLastBlockInfo() { return m_stLastBlockInfo; } void UserCharTreeSet(); private: unsigned int m_clrR; unsigned int m_clrG; unsigned int m_clrB; CTreeCtrl m_ctrlCharTree; CImageList m_imgCharTree; CImageList m_hImageList; HTREEITEM m_hUIDNode; HTREEITEM m_hServerNode; BLOCK_INFO m_stLastBlockInfo; SEL_TREEITEM_INFO m_stSelTreeItemInfo; afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); afx_msg void OnTvnSelchangedChartree(NMHDR *pNMHDR, LRESULT *pResult); afx_msg void OnNMDblclkChartree(NMHDR *pNMHDR, LRESULT *pResult); afx_msg void OnNMRclickChartree(NMHDR *pNMHDR, LRESULT *pResult); afx_msg void OnModifyCharName(); afx_msg void OnBlockAccount(); afx_msg void OnBlockCharacter(); afx_msg void OnDeleteChar(); afx_msg void OnForcedDis(); afx_msg void OnGmlogmanageUid(); afx_msg void OnGmlogmanageCid(); HTREEITEM InsertItemEX(HTREEITEM hNode, unsigned char cIcon, CString strText); int IsBlockedChar(UINT CID); };