Files
Client/Server/AdminTool/AdminToolClient/UserCharTreeView.h
LGram16 dd97ddec92 Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code:
- Client: Game client source (moved to Client/Client/)
- Server: Game server source
- GameTools: Development tools
- CryptoSource: Encryption utilities
- database: Database scripts
- Script: Game scripts
- rylCoder_16.02.2008_src: Legacy coder tools
- GMFont, Game: Additional resources

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 20:17:20 +09:00

105 lines
2.3 KiB
C++

#pragma once
#include "afxcmn.h"
/*!
\class CUserCharTreeView
계정이 소유하고 있는 캐릭터를 서버군별로 열람할 수 있는 트리뷰
*/
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);
};