#pragma once #include "ListBox.h" const int gMaxSkillInconCnt = 10; const int gSplitCount = 2; const int gSplitSize = 200; struct sPlayerSkillBaseInfo; struct sSkillInfoEx { sPlayerSkillBaseInfo* mpSkillInfo; unsigned char mSkillStep; sSkillInfoEx() { ::ZeroMemory( this, sizeof(sSkillInfoEx) ); } }; // ¹è¿î ½ºÅ³¿¡ ´ëÇÑ °¢ ´Ü°è ¸ðµÎ¸¦ Ãâ·ÂÇÏ´Â ¸®½ºÆ® ¹Ú½º class cSkillIcon; class cSkillStepListBox : public cListBox { public: cSkillStepListBox( eUINodeType type = eUINODE_LISTBOX ); virtual ~cSkillStepListBox(); /// »õ·Î¿î ÇàÀ» ÇØ´ç ºÐÇÒ ¿µ¿ª¿¡ Ãß°¡, »ý¼ºÇÑ´Ù. virtual int AddRowAt( unsigned char nSplitIndex, LPCTSTR str, unsigned long color, void* pExtraData = 0 ); // ÇØ´ç ¿µ¿ª¿¡ ÀÖ´Â ¿ø¼Ò °¹¼ö inline virtual unsigned int GetRowCount(); // Àüü ¶Ç´Â ¼³Á¤ ¿µ¿ª Ŭ¸®¾î void Clear(); void ClearSplitRange( unsigned char nSplitIndex ); // ½ºÅ³ ¾ÆÀÌÄÜ »ý¼º ¹× ºÐÇÒ ¿µ¿ªÀÇ °¹¼ö¿Í »çÀÌÁî ¼³Á¤ »ý¼º void CreateSkillICon( unsigned char nCount = gMaxSkillInconCnt ); void CreateSplitSize( unsigned char nSplitCnt, unsigned int nSplitSize ); // ¸®½ºÆ® ¹Ú½º Row º¯°æ½Ã ½ºÅ³ ¾ÆÀÌÄÜ Àç ¼³Á¤ virtual void UpdateIConListInfo(); // ÇöÀç ¿µ¿ª À妽º¸¦ ¼³Á¤, ȹµæ. void SetCurrentSplitIndex( unsigned char nIndex ){ mCurrentSplitIndex = nIndex; } unsigned char GetCurrentSplitIndex() const { return mCurrentSplitIndex; } // ºÐÇÒ ¿µ¿ª °¹¼ö, »çÀÌÁî Á¤º¸ ȹµæ unsigned int GetSplitSize() const { return mSplitSize; } void UpdateIconInfo(); virtual void Sort(); protected: virtual void OnIconDragged( cUINode* caller, unsigned int id, const cUIPos& pos, bool shift ); virtual void OnIconDoubleClicked( cUINode* caller, unsigned int id); virtual void OnIconClicked( cUINode* caller, unsigned int id); virtual void RenderData( cUIFontItemKeeper* pKeeper ); virtual void UpdateSkin(); virtual void OnMouseWheel( const cUIPos& pos, int wheel ); virtual void OnScrollbarMoved( const cUIPos& pos ); virtual void CheckButtonEvent( unsigned int id ); virtual void OnLButtonDoubleClick( const cUIPos& pos ); protected: typedef tArray cIconArr; cIconArr mSkillIconArr; // ½ºÅ³ ¾ÆÀÌÄÜ ÄÁÅ×ÀÌ³Ê // unsigned char mSplitCnt; // ºÐÇÒ °¹¼ö unsigned int mSplitSize; // ºÐÇÒ ¿µ¿ª Å©±â unsigned char mCurrentSplitIndex; // ÇöÀç ºÐÇÒ À妽º // ºÐÇÒÇÑ ¿µ¿ª¿¡¼­ ¸¶Áö¸·À¸·Î »ðÀÔµÈ À§Ä¡Á¤º¸¸¦ ÀúÀåÇÑ´Ù. typedef tArray cArray; cArray mSplitInfo; // ºÐÇÒ ¿µ¿ª Á¤º¸ };