/* ========================================================================== * ÆÄ ÀÏ : UIIMENode.h * ¸ñ Àû : * ÀÛ ¼º ÀÚ : ±è°¡¶÷ * ÀÛ ¼º ÀÏ : 2006-10-31 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #pragma comment(lib, "imm32.lib") #include "UINode.h" const int MAX_TEXT_LENGTH = 512; /// ¿¡µðÆ® Á¾·ù enum eEditKind { eEDIT_NORMAL, /// ÀÏ¹Ý eEDIT_NOINPUT, /// ÀԷ¸¸ ¾È¹ÞÀ½. eEDIT_NUMBER, /// ¼ýÀÚ¿ë eEDIT_ACCOUNT_ID, /// ID °èÁ¤¿ë eEDIT_ACCOUNT_PASS, /// PASS °èÁ¤¿ë eEDIT_EXCEPT_SPECIAL /// Ư¼ö¹®ÀÚ¸¸ Á¦¿Ü }; class cUIIMENode : public cUINode { public: cUIIMENode( eUINodeType type ); virtual ~cUIIMENode(); private: /// ÇÚµé static HWND mHWnd; public: /// shift key static bool mShiftKey; /// ÄÁÆ®·Ñ ۰¡ ´­·Ç´ÂÁö ÀúÀå static bool mControlKey; protected: /// ¿¡µðÆ®¹Ú½º°¡ °¡Áø °íÀ¯ÀÇ ¹®ÀÚ¿­ /// À¯´ÏÄÚµå ¹öÀü : 2byte ¹®Àڹ迭, ±æÀÌ´Â 1 TCHAR mText[ MAX_TEXT_LENGTH ]; /// ÇöÀç Á¶¸³ÁßÀÎ ¹®ÀÚ¸¦ ÀúÀå TCHAR mCompText[ MAX_TEXT_LENGTH ]; /// ¿¡µðÆ® SHOW ÅØ½ºÆ® °»½Å¿©ºÎ bool mChangeText; /// ¿¡µðÆ®¹Ú½º°¡ °¡Áø °íÀ¯ÀÇ ¹®ÀÚ¿­ ±æÀÌ ( byte ) int mTextLength; /// °íÀ¯ ¹®ÀÚ¿­»óÀÇ Ä³·µ int mTextCaretX; /// Á¶ÇÕÁßÀÓ bool mCompFlag; /// º¸Á¤Ç÷¡±× bool mFixFlag; /// ½ºÅ©·Ñ±â´ÉÀ» À§ÇÑ À妽º( È­¸é¿¡ »Ñ¸± ÅØ½ºÆ®ÀÇ ½ÃÀÛÀ妽º) int mScrollIndex; /// ½ºÅ©·ÑÀ» À§ÇÑ Ä³·µ( È­¸é»ó¿¡ ÂïÈ÷´Â ij·µ ) int mScrollCaretX; /// ÇÑÁÙ¿¡ µé¾î°¥¼ö ÀÖ´Â ÃÖ´ë ¹®ÀÚ Æø int mOneLineWidth; /// ¿¡µðÆ®¿¡ µé¾î°¥¼ö ÀÖ´Â ÃÖ´ë ±ÛÀÚ ¹ÙÀÌÆ® ¼ö int mMaxEditLength; /// µå·¡±× ½ÃÀÇ Ä³·µÁÂÇ¥ int mStartDragCaretX, mEndDragCaretX; /// µå·¡±ë Ç÷¡±× bool mDraggingFlag; bool mImeFlag; /// ¿¡µðÆ® Á¾·ù eEditKind mEditKind; };