/* ========================================================================== * ÆÄ ÀÏ : ComboBox.h * ¸ñ Àû : * ÀÛ ¼º ÀÚ : ±è°¡¶÷ * ÀÛ ¼º ÀÏ : 2006-11-06 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "UIWindow.h" #include "UINodeData.h" class cListBox; class cButton; class cEditBox; /// ÄÞº¸ ¹Ú½º class cComboBox : public cUIWindow { public: cComboBox( eUINodeType type = eUINODE_COMBOBOX ); virtual ~cComboBox(); /// ÄÞº¸¹Ú½ºÀÇ ÀÚ½ÄÀÎ ¸®½ºÆ® ¹Ú½º¿¡ ¾ÆÀÌÅÛÀ» ³Ö´Â´Ù void AddItem( LPCTSTR text, void* extraData ); bool IsEmpty(); /// ¼±ÅÃµÈ ¿­ÀÇ µ¥ÀÌÅÍ void* GetSelectData(); /// void Clear(); /// ¼±Åà ¼¼ÆÃ void SetSelect( int row, bool sendEvent = true ); virtual void SetEnabled( bool enabled ); unsigned int GetSize(); void* GetExtraData( unsigned int index ); unsigned int GetSelectIndex(); protected: /// À̺¥Æ® ó¸® virtual bool HandleEvent( const cUIEvent& event ); virtual void OnLButtonDown( const cUIPos& pos, bool ctrl, bool /*AltPress*/, bool /*shiftPress*/ ); virtual void OnMouseOtherClick( const cUIPos& pos ); virtual bool SetSkin( const cUINodeSkin* pskin ); virtual void UpdateSkin(); virtual void OnHide(); /// »ý¼º bool OnCreate( cUINodeProperty* pproperty ); /// ¹öư üũ void CheckButtonEvent( cUINode* pcaller, unsigned int id ); void UpdateListboxSize(); protected: /// ÀÚ½Ä ¸®½ºÆ® ¹Ú½º cListBox* mpListBox; /// ÀÚ½Ä ¹öư cButton* mpButton; /// ÀÚ½Ä ¿¡µðÆ® cEditBox* mpEdit; /// ¸®½ºÆ® ¹Ú½º ½ºÅ² ³×ÀÓ cString mListboxSkin; /// ¹öư ¹Ú½º ½ºÅ² ³×ÀÓ cString mButtonSkin; /// ¿¡µðÆ® ¹Ú½º ½ºÅ² ³×ÀÓ cString mEditSkin; /// ½ºÅ©·Ñ ½ºÅ² cString mScrollSkin; /// ¿¡µðÆ®¹Ú½ºÀÇ ÅØ½ºÆ® cStringT mEditText; cUISize mSize; }; /////////////////////////////////////////////////////////////////// class cComboBoxSkin : public cUINodeSkin { public: cComboBoxSkin( eUINodeType type = eUINODE_COMBOBOX ); virtual ~cComboBoxSkin(); /// ·Îµù virtual bool Load( cParser& parser ); public: /// ¸®½ºÆ® ¹Ú½º ½ºÅ² ³×ÀÓ cString mListboxSkin; /// ¹öư ¹Ú½º ½ºÅ² ³×ÀÓ cString mButtonSkin; /// ¿¡µðÆ® ¹Ú½º ½ºÅ² ³×ÀÓ cString mEditSkin; /// ½ºÅ©·Ñ¹Ù ½ºÅ² cString mScrollSkin; };