#pragma once #include "afxcmn.h" class CModifyCharacter; class SkillMgr; /*! \class CCharSkillPage ij¸¯ÅÍ ½ºÅ³ Á¤º¸ ÆäÀÌÁö */ class CCharSkillPage : public CPropertyPage { DECLARE_DYNAMIC(CCharSkillPage) public: CCharSkillPage(); virtual ~CCharSkillPage(); // ´ëÈ­ »óÀÚ µ¥ÀÌÅÍÀÔ´Ï´Ù. enum { IDD = IDD_CHARSKILLPAGE }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV Áö¿øÀÔ´Ï´Ù. DECLARE_MESSAGE_MAP() virtual BOOL OnInitDialog(); public: enum CONTEXT_MENU_TYPE { NONE, IN_SKILL_LIST, IN_WANTSKILL_LIST }; enum SORT_TYPE { SLOT_NUM, SKILL_ID, SKILL_NAME, SKILL_TYPE, SKILL_LEVEL }; enum SKILL_EDIT_MODE { MODE_EMPTY = 0, MODE_CREATE = 1, MODE_EDIT = 2, MODE_DELETE = 3 }; private: bool m_bSortListAsc; int m_iSortListItem; CModifyCharacter* m_lpSkillPageInfo; unsigned int m_dwDocKey; SKILLSLOT m_ManageSkill; CListCtrl m_ctrlCharSkillList; CListBox m_ctrlWantSkillList; unsigned int m_dwSkillMaxNum; unsigned int m_dwSkillUseNum; CONTEXT_MENU_TYPE m_ContextType; SKILL_EDIT_MODE m_EditMode; void SetSkill(SKILL& Skill); bool SetManageSkillInfo(); void SetAcquirableSkillList(); void SortListWndItem(CListCtrl *pListCtrl, const int iCol); afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); afx_msg void OnSkillAddCM(); afx_msg void OnSkillEditCM(); afx_msg void OnSkillDelCM(); afx_msg void OnLbnDblclkSkillList(); afx_msg void OnNMDblclkCharskilllist(NMHDR *pNMHDR, LRESULT *pResult); afx_msg void OnLvnColumnclickCharskilllist(NMHDR *pNMHDR, LRESULT *pResult); afx_msg void OnBnClickedSkillpageClipskillBtn(); public: bool SetSkillPageData(unsigned int dwDocKey, CModifyCharacter* lpModifyCharacter); void SetSkillPage(CModifyCharacter* lpModifyCharacter); SKILLSLOT& GetLastSkill(); SKILL_EDIT_MODE GetMode() { return m_EditMode; } CModifyCharacter* GetCharacter() { return m_lpSkillPageInfo; } };