#pragma once #include #include #include typedef std::string STD_STRING; typedef std::list STD_LIST; typedef stdext::hash_map STD_ID_MAP; class CBaseManager //. µî·ÏµÈ ¾Æµð ¸®½ºÆ®¸¦ °ü¸®ÇØÁØ´Ù. std::list·Î ±¸¼ºµÇ¾î ÀÖ´Ù. { public: CBaseManager(); virtual ~CBaseManager(); virtual bool OnCreate(); virtual void OnDestroy(); public: bool IsCtrlID(DWORD dwID); //. ÀÎÀÚ °ªÀÇ ¾Æµð°¡ µî·Ï µÇ¾î ÀÖ³ª Ã¼Å©ÇØ ÁØ´Ù. bool CreateID(DWORD dwID, VOID* pPtr); //. ÁÖ¾îÁø ¾Æµð¿Í Æ÷ÀÎÅ͸¦ µî·Ï ½ÃŲ´Ù.. DWORD CreateID(VOID* pPtr); //. ÀÓÀÇÀÇ ¾Æµð¿¡ Æ÷ÀÎÅ͸¦ µî·Ï ½ÃŲ´Ù. bool RemoveCtrlID(DWORD dwID); //. ÁÖ¾îÁø ¾Æµð¸¦ Á¦°Å. bool RemoveAllCtrlID(); //. ¸ðµç µî·ÏµÈ ¾Æµð¸¦ Á¦°ÅÇÑ´Ù. bool ChangeCtrlID(DWORD dwPrevID,DWORD dwNextID); bool MoveToTail(DWORD dwID); bool MoveToHead(DWORD dwID); bool MoveToListIndex(int nOrig, int nDes);//. list¿¡ µî·ÏµÈ À妽º À§Ä¡¸¦ À̵¿ÇØÁØ´Ù. DWORD GetCount(); DWORD FindIndexID(int nIndex); VOID* FindData(DWORD dwID); VOID* FindIndexData(DWORD dwIndex); STD_LIST::iterator FindDrawList(DWORD dwID); //. µî·ÏµÈ Head - > Tail ·Î üũÇϸ鼭 Æ÷ÀÎÅ͸¦ ³Ñ°ÜÁØ´Ù. virtual void SetHeadPosition(); virtual VOID* GetNextDrawInfo(); //. µî·ÏµÈ Tail - > Head ·Î üũÇϸ鼭 Æ÷ÀÎÅ͸¦ ³Ñ°ÜÁØ´Ù. void SetTailPosition(); VOID* GetPrevDrawInfo(); STD_LIST& GetDrawList() { return m_sStdDrawList; } protected: STD_LIST::iterator m_sPosition; STD_LIST::reverse_iterator m_sRePosition; STD_ID_MAP m_stdIDMap; //. ¾Æµð¿Í Æ÷ÀÎÅ͸¦ µî·Ï STD_LIST m_sStdDrawList; //. µî·ÏµÈ ¾ÆµðÀÇ ¼ø¼­ ¸®½ºÆ®. DWORD m_dwIDCnt; //ÇöÀç ID °¹¼ö¸¦ ³ªÅ¸³½´Ù. };