/* ========================================================================== * ÆÄ ÀÏ : NumberEditBox.h * ¸ñ Àû : * ÀÛ ¼º ÀÚ : ±è°¡¶÷ * ÀÛ ¼º ÀÏ : 2007-02-02 * ÁÖÀÇ»çÇ× : ¼ýÀÚ¸¸À» ¾µ¼ö ÀÖ´Â È®Àå ¿¡µðÆ® ½ºÅ©·Ñ±â´É, º¹»ç, ºÙ¿©³Ö±â ±â´É Á¦¿Ü *===========================================================================*/ #pragma once #include "EditBox.h" //const unsigned int MAX_NUMBER_LEN = 10; class cNumberEditBox : public cEditBox { public: cNumberEditBox( eUINodeType type = eUINODE_EDITBOX ); virtual ~cNumberEditBox(); /// 0226 ¿õÁÖ, °ªÀ» ¼¼ÆÃ void SetValue ( unsigned long value ); void SetMaxValue( unsigned long value ); /// 0226 ¿õÁÖ, °ªÀ» ¹Ýȯ unsigned long GetValue () const; unsigned long GetMaxValue () const; void Clear(); static LPCTSTR FormatNumber ( double value, bool zero = true ); void SetUseZero( bool set ); private: virtual void SetText( LPCTSTR text, int align /* = 0 */);/// ÀÌ·±½ÄÀÇ »ç¿ë ±Ý /// À̺¥Æ® ó¸® virtual void OnChar( unsigned int wparam ); virtual void OnFocusLost(); virtual void OnLButtonDown( const cUIPos&, bool, bool , bool ); virtual bool OnCreate( cUINodeProperty* ); virtual void OnKeyDown( eKeyCode code ); /// 0226 ¿õÁÖ(¼öÁ¤), ¼ýÀÚ¹®ÀÚ¿­À» ¼ýÀÚ¿Í ',' ·Î º¯ÇüÇÏ¿© mNumberText¿¡ ³Ö´Â´Ù. LPCTSTR FormatNumber ( LPCTSTR ) const; LPCTSTR UnformatNumber ( LPCTSTR ) const; /// 0226 ¿õÁÖ, ½°Ç¥¸¦ ³Ñ±â±â À§ÇØ ¿À¹ö¶óÀ̵ù void CaretMoveLeft(); void CaretMoveRight(); void KeyDownDelete(); void KeyDownBackSpace(); private: unsigned long mMaxValue; unsigned long mValue; /// 0 °ª ¼¼ÆÃ »ç¿ëÇÒ°ÍÀÎÁö ¿©ºÎ bool mUseZero; }; inline void cNumberEditBox::SetUseZero( bool set ) { mUseZero = set; }